Разработка компиляторов. Ишакова Е.Н. - 36 стр.

UptoLike

Составители: 

36
3 Постановка задачи к курсовой работе
Разработать компилятор модельного языка, выполнив следующие дейст-
вия.
1) В соответствии с номером варианта составить формальное описание
модельного языка программирования с помощью:
а) РБНФ;
б) диаграмм Вирта;
в) формальных грамматик.
2) Написать пять содержательных примеров программ, раскрывающих
особенности конструкций учебного языка программирования, отразив в этих
примерах все его функциональные возможности.
3) Составить таблицы лексем и диаграмму состояний с действиями для
распознавания и формирования лексем языка.
4) По диаграмме с действиями написать функцию сканирования текста
входной программы на модельном языке.
5) Разработать программное средство, реализующее лексический анализ
текста программы на входном языке.
6) Реализовать синтаксический анализатор текста программы на модель-
ном языке методом рекурсивного спуска.
7) Построить цепочку вывода и дерево разбора простейшей программы на
модельном языке из начального символа грамматики.
8) Дополнить синтаксический анализатор процедурами проверки семан-
тической правильности программы на модельном языке в соответствии с кон-
текстными условиями вашего варианта.
9) Распечатать пример таблиц идентификаторов и двуместных операций.
10) Показать динамику изменения содержимого стека при семантическом
анализе программы на примере одного синтаксически правильного выражения.
11) Записать правила вывода
грамматики с действиями по переводу в
ПОЛИЗ программы на модельном языке.
12) Пополнить разработанное программное средство процедурами, реали-
зующими генерацию внутреннего представления введенной программы в фор-
ме ПОЛИЗа.
13) Разработать интерпретатор ПОЛИЗа программы на модельном языке.
14) Составить набор контрольных примеров, демонстрирующих:
а) все возможные типы лексических, синтаксических и семантических
ошибок в программах на модельном языке;
б) перевод в ПОЛИЗ различных конструкций языка;
в) представить ход интерпретации синтаксически и семантически пра-
вильной программы с помощью таблицы.
       3 Постановка задачи к курсовой работе

       Разработать компилятор модельного языка, выполнив следующие дейст-
вия.
      1) В соответствии с номером варианта составить формальное описание
модельного языка программирования с помощью:
      а) РБНФ;
      б) диаграмм Вирта;
      в) формальных грамматик.
      2) Написать пять содержательных примеров программ, раскрывающих
особенности конструкций учебного языка программирования, отразив в этих
примерах все его функциональные возможности.
      3) Составить таблицы лексем и диаграмму состояний с действиями для
распознавания и формирования лексем языка.
      4) По диаграмме с действиями написать функцию сканирования текста
входной программы на модельном языке.
      5) Разработать программное средство, реализующее лексический анализ
текста программы на входном языке.
      6) Реализовать синтаксический анализатор текста программы на модель-
ном языке методом рекурсивного спуска.
      7) Построить цепочку вывода и дерево разбора простейшей программы на
модельном языке из начального символа грамматики.
      8) Дополнить синтаксический анализатор процедурами проверки семан-
тической правильности программы на модельном языке в соответствии с кон-
текстными условиями вашего варианта.
      9) Распечатать пример таблиц идентификаторов и двуместных операций.
      10) Показать динамику изменения содержимого стека при семантическом
анализе программы на примере одного синтаксически правильного выражения.
      11) Записать правила вывода грамматики с действиями по переводу в
ПОЛИЗ программы на модельном языке.
      12) Пополнить разработанное программное средство процедурами, реали-
зующими генерацию внутреннего представления введенной программы в фор-
ме ПОЛИЗа.
      13) Разработать интерпретатор ПОЛИЗа программы на модельном языке.
      14) Составить набор контрольных примеров, демонстрирующих:
      а) все возможные типы лексических, синтаксических и семантических
ошибок в программах на модельном языке;
      б) перевод в ПОЛИЗ различных конструкций языка;
      в) представить ход интерпретации синтаксически и семантически пра-
вильной программы с помощью таблицы.




                                                                        36