Создание парсера простого языка (МОК) — различия между версиями
Материал из Вики ИТ мехмата ЮФУ
Admin (обсуждение | вклад) (→Задания) |
Admin (обсуждение | вклад) (→Задания) |
||
(не показаны 3 промежуточные версии этого же участника) | |||
Строка 26: | Строка 26: | ||
*Реализовать парсер аналогичного языка в C-грамматике | *Реализовать парсер аналогичного языка в C-грамматике | ||
*Реализовать выражения вида x < 0. Для этого: | *Реализовать выражения вида x < 0. Для этого: | ||
− | + | # Сделать исправления в грамматике выражений (операции отношения - самые низкоприоритетные) | |
− | + | # Сделать типы 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