Создание парсера простого языка (МОК) — различия между версиями
Материал из Вики ИТ мехмата ЮФУ
Admin (обсуждение | вклад) |
Admin (обсуждение | вклад) (→Задания) |
||
Строка 29: | Строка 29: | ||
# Сделать типы int и bool, описание переменных этих типов | # Сделать типы int и bool, описание переменных этих типов | ||
# Сделать метод определения типа у выражения | # Сделать метод определения типа у выражения | ||
+ | *Реализовать условный оператор if и цикл while |
Текущая версия на 11:11, 7 сентября 2014
Из материалов по курсу «Методы построения компиляторов»:
Создание синтаксического анализатора с помощью программы GPPG
Построение синтаксического дерева программы
Задания
- Дополнить грамматику языка грамматикой выражений
expr : T | expr + T | expr - T ; T : F | T * F | T / F ; F : ident | INUM | ( expr ) ;
- Реализовать узел дерева BinaryNode с конструктором BinaryNode(leftoperand,rightoperand,operation). Дополнить грамматику семантическими действиями, связанными с разбором выражений
- Реализовать парсер аналогичного языка в C-грамматике
- Реализовать выражения вида x < 0. Для этого:
- Сделать исправления в грамматике выражений (операции отношения - самые низкоприоритетные)
- Сделать типы int и bool, описание переменных этих типов
- Сделать метод определения типа у выражения
- Реализовать условный оператор if и цикл while