Формальные языки, грамматики и основы построения трансляторов. Кревский И.Г - 125 стр.

UptoLike

125
6. При написании транслятора использовать метод рекурсивного спуска
(нисходящего разбора).
Пояснительная записка
к курсовому проекту должна включать:
1. Описание синтаксиса реализуемого языка в форме Бэкуса-Наура.
2. LL(1)-грамматику языка.
3. Синтаксический граф языка.
4. Описание разработанного программного обеспечения, включающее
- краткое описание лексического анализатора;
- классы лексем различаемые лексическим анализатором;
- примеры входного и выходного фалов для лексического анализатора;
- краткое описание синтаксического анализатора (
на уровне основных
процедур и функций);
- тестовые примеры обнаружения ошибок синтаксическим
анализатором, а также пример работы без синтаксических ошибок;
- краткое описание программы формирования постфиксной записи;
- пример работы программы формирования постфиксной записи
(входной файл лексем и выходной файл с постфиксной записью);
- краткое описание программы генерации кода;
-
тестовый пример работы генератора кода (входной файл с постфиксной
записью программы, выходной файл, содержащий микрокод в заданной
системе команд или инструкции языка Ассемблера.
5. Приложение (распечатки разработанного программного обеспечения).
Тестовый пример, демонстрирующий правильность работы
компилятора при корректном входном коде должен обязательно включать
(кроме варианта с конструкцией GO TO) следующие элементы:
оператор или
группу операторов присваивания;
конструкцию языка высокого уровня, содержащую вложенную
конструкцию языка высокого уровня;
конструкцию языка высокого уровня, внешнюю по отношению к
предыдущим;
                                                                          125
6. При написании транслятора использовать метод рекурсивного спуска
(нисходящего разбора).
      Пояснительная записка к курсовому проекту должна включать:
1. Описание синтаксиса реализуемого языка в форме Бэкуса-Наура.
2. LL(1)-грамматику языка.
3. Синтаксический граф языка.
4. Описание разработанного программного обеспечения, включающее
 -    краткое описание лексического анализатора;
 -    классы лексем различаемые лексическим анализатором;
 -    примеры входного и выходного фалов для лексического анализатора;
 -    краткое описание синтаксического анализатора (на уровне основных
      процедур и функций);
 -    тестовые     примеры      обнаружения         ошибок     синтаксическим
      анализатором, а также пример работы без синтаксических ошибок;
 -    краткое описание программы формирования постфиксной записи;
 -    пример     работы   программы      формирования    постфиксной   записи
      (входной файл лексем и выходной файл с постфиксной записью);
 -    краткое описание программы генерации кода;
 -    тестовый пример работы генератора кода (входной файл с постфиксной
      записью программы, выходной файл, содержащий микрокод в заданной
      системе команд или инструкции языка Ассемблера.
5. Приложение (распечатки разработанного программного обеспечения).
      Тестовый      пример,    демонстрирующий          правильность   работы
компилятора при корректном входном коде должен обязательно включать
(кроме варианта с конструкцией GO TO) следующие элементы:
 • оператор или группу операторов присваивания;
 • конструкцию       языка    высокого    уровня,   содержащую     вложенную
     конструкцию языка высокого уровня;
 • конструкцию языка высокого уровня, внешнюю по отношению к
     предыдущим;