Страница курса "Методы создания оптимизирующих компиляторов" — различия между версиями
Материал из Вики ИТ мехмата ЮФУ
Admin (обсуждение | вклад) (→Тема 1. Создание парсера языка) |
Admin (обсуждение | вклад) (→Задания) |
||
Строка 7: | Строка 7: | ||
====Задания==== | ====Задания==== | ||
+ | * Дополнить грамматику языка грамматикой выражений | ||
+ | <pre> | ||
+ | expr : T | ||
+ | | expr + T | ||
+ | | expr - T | ||
+ | ; | ||
+ | |||
+ | T : F | ||
+ | | T * F | ||
+ | | T / F | ||
+ | ; | ||
+ | |||
+ | F : ident | ||
+ | | INUM | ||
+ | | ( expr ) | ||
+ | ; | ||
+ | </pre> | ||
+ | *Реализовать узел дерева BinaryNode с конструктором BinaryNode(leftoperand,rightoperand,operation). Дополнить грамматику семантическими действиями, связанными с разбором выражений | ||
*Реализовать парсер аналогичного языка в C-грамматике | *Реализовать парсер аналогичного языка в C-грамматике |
Версия 16:20, 31 августа 2014
Тема 1. Создание парсера языка
Из материалов по курсу «Методы построения компиляторов»:
Создание синтаксического анализатора с помощью программы GPPG
Построение синтаксического дерева программы
Задания
- Дополнить грамматику языка грамматикой выражений
expr : T | expr + T | expr - T ; T : F | T * F | T / F ; F : ident | INUM | ( expr ) ;
- Реализовать узел дерева BinaryNode с конструктором BinaryNode(leftoperand,rightoperand,operation). Дополнить грамматику семантическими действиями, связанными с разбором выражений
- Реализовать парсер аналогичного языка в C-грамматике