Лаба №1-4. СПОВМ. Теория компиляторов. 2013 / ВМСиС

Решение

Данные лабы сдавались Кавальчуку.

Каждая последующая лаба расширяет предыдущую.

Дерево в 3-й лабе - структура в памяти с описанием семантических значений - необязательно в виде дереве (это может быть совокупность списков, деревьев и т. п.)

Лаба 4 - генератор asm-кода.
Спецификация не совсем верная, ибо составлялась в самом начале,
а в процессе выполнения лаб были изменения.

lab4.lex - описание лексического анализатора
lab4.y - описание семантического анализатора + построение семантического дерева
main.c - там вызываются функции семантического анализатора + описаны функции генератора кода.

Для генерации кода анализаторов использовались win_flex_bison (немного изменённые под винду flex и bison).
Также использовался gcc (как поставить под винду - гуглите).
Можно компилить и в Visual Studio, но это потребует модификации lex и bison файла (я не знаю как).

Тестовое задание для 4-й лабы:
сортировка строк в текстовом файле - написана в файле lab4_code.c - файл с программой на созданном языке.

Файл с решением: