Generative Programming Homework 5

Материал из SEWiki
Версия от 18:44, 22 ноября 2013; Mikhail (обсуждение | вклад) (Новая страница: «'''Язык арифметических выражений на Spoofax. Срок сдачи 02.12''' Написать во фреймворке Spoofax язык …»)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Язык арифметических выражений на Spoofax. Срок сдачи 02.12

Написать во фреймворке Spoofax язык выражений. В выражениях должны быть 4 операции и переменные (используйте "нетерминал" ID в Spoofax). Скобки можно сделать по желанию, можно не делать. Переменные объявлять не надо. В итоге программа на созданном языке должна иметь такой вид: {code}a+b *c + d/e{code} Выражение должно парсироваться с учетом приоритета операций. Генератор должен генерить лиспоподобные выражения: {code}Plus(a, Plus( Mul(b,c),Div(d,e) ) ){code}

+1 балл к заданию можно получить, поняв, где описаны методы, использующиеся при резолве переменных в tutorial-проекте. Hint: Для создания tutorial-проекта снимите галочку "Generate minimal project" в мастере создания проекта. Hint 2: сам резолв описан в /trans/<lang_name>.str, внутри искать строку "editor-resolve"