Скачать 0.51 Mb.
|
3.4 Инструкция пользователю После запуска программы-транслятора необходимо ввести текст программы на предложенном условном языке программирования в поле ввода, расположенное в левом верхнем углу. Если есть заранее подготовленный текстовый документ с кодом программы, то для того, чтобы загрузить его в поле ввода редактора исходного кода, необходимо нажать кнопку «Open File» и в предложенном диалоге выбрать свой файл. Для того, чтобы откомпилировать и запустить программу, необходимо нажать кнопку «Compile & Run». В случае, если программа содержит лексические, синтаксические или семантические ошибки, будет выдан диалог с подробным описанием ошибки. В случае удачной компиляции программа будет запущена и будет выдан результат в виде таблицы значений переменных и трассировка выполнения. 3.5 Инструкция программисту Программа содержит следующие структуры:
-Свойство TokenType Type { get; } – тип токена -Свойство string TokenString { get; } – строка, соответствующая токену
-Метод Token Create(string str) – статический метод создания токена соответствующего типа.
- Метод TokenCollection Analize(string str, List
- Метод bool Analize(TokenCollection tokens, out Program program) – статический метод, выполняющий проверку на соответствие грамматике последовательности токенов, принимает коллекцию токенов, возвращает флаг успешности проверки, также выходным параметром возвращает стековую машину с накопленными во время проверки инструкциями.
-Метод void RegisterVariable(Declaration declaration) – регистрирует переменную в таблице. -Метод object GetValue(Token token) – получение значения переменной -Метод void SetValue(Token token, object value) – установка значения переменной
-Метод object Calculate(VariablesTable table) – вычисляет значение выражения в контексте значений переменных, переданных в аргументе
-Метод void Run(VariablesTable table, ref string runTrace) – абстрактный метод запуска инструкции в контексте таблицы переменных, записывает трассировку выполнения в переменную runTrace.
-Метод void Run(VariablesTable table, ref string runTrace) –метод запуска инструкции в контексте таблицы переменных, записывает трассировку выполнения в переменную runTrace.
-Метод void Run(VariablesTable table, ref string runTrace) –метод запуска инструкции в контексте таблицы переменных, записывает трассировку выполнения в переменную runTrace.
-Метод void Run(VariablesTable table, ref string runTrace) –метод запуска инструкции в контексте таблицы переменных, записывает трассировку выполнения в переменую runTrace.
3.6 Тестовый пример В качестве тестового примера решим задачу вычисления суммы ряда ![]() Примем x = 2, N =5, тогда сумма ряда будет: ![]() Далее следует рисунок 2 тестового примера работы программы, решающей поставленную задачу. ![]() Рисунок 2 – Тестовый пример работы программы Из приведенного рисунка тестового примера видно, что программа выполнилась правильно, и был получен верный результат. Заключение Современные языки высокого уровня удобны для конкретного и однозначного описания алгоритма и сравнительно близки к естественным языкам, что делает их удобными для разработчика. В тоже время ни одна программа, написанная на языке программирования, не может быть непосредственно выполнена машиной – перед этим необходимо выполнить преобразование текста программы в специальный машинный код. Для этого создается специальная программа – транслятор, выполняющая лексический, синтаксический, семантический анализ и генерацию кода. Для выполнения программы может быть использована абстрактная стековая машина, имеющая возможность выполнять арифметические инструкции, инструкции по работе со стеком и инструкции управления выполнением. Список использованных источников
Ахо А., Сети Р., Ульман Дж. Компиляторы: принципы, технологии, инструменты. М.: Вильямс, 2001. Аннотация В данном курсовом проекте рассмотрена задача разработки транслятора с условного языка программирования. Программа была написана на языке С# в среде Microsoft Visual Studio 2008. Пояснительная записка содержит 27 листов, 2 рисунков и 13 листингов классов. В ходе выполнения курсового проекта было использовано 2 источника. |
![]() | В тоже время ни одна программа написанная на яп не может быть непосредственно выполнена машиной – перед этим необходимо выполнить... | ![]() | Представление основных операторов(описанных в разделе семантики) с помощью тетрад 34 |
![]() | Пояснительная записка к курсовой работе 10 страниц, 2 рисунка, 1 таблица, 3 источника | ![]() | Сеть книжных магазинов. – Челябинск: юурГУ, ЭиП-208, 2012. – 50 с., 13 ил., 1 прил |
![]() | Государственного образовательного учреждения высшего профессионального образования Российский химико-технологический университет | ![]() | Целью курсовой работы является получение навыков по вычислению параметров системы связи, анализу полученных результатов, а также... |
![]() | Изучение объектно-ориентированного моделирования и исследование процесса построения диаграмм использования и диаграмм взаимодействий... | ![]() | ... |
![]() | Курсовая работа по теории автоматов выполняется с целью закрепления ранее полученных знаний, приобретения навыков и умений самостоятельного... | ![]() | Ученик может исправить полученную оценку. Завуч может добавить информацию о новом учителе или ученике, а также удалить о выбывших.... |