Skip to content

AntiFrizz1/translation-methods

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Методы трансляций

Нисходящий синтаксический анализатор

Парсит блок описания переменных в Паскале.

Блок начинается ключевым словом var, далее идет несколько описаний переменных. Описание переменных содержит имена переменных через запятую, затем двоеточие, затем имя типа.

Программа заканчивается без ошибок если входные данные удовлетворяют условию а также выводит дерево синтактического разбора.

Исходный код

Трансляция придуманного императивного языка в Си

Транслирует программу написанную на придуманном императивном языке программирования в программу на языке Си используя Bison и Flex.

Программу можно запустить так: ./main.o < gcd.eu. И сгенерируется файл main.c

Примеры программ на придуманном языке прогрмамирования

Исходный код

Упрощенный генератор парсеров

Генератор парсера, за основу систаксиса которого, взят синтаксис Bison. А также генератор лексера, за основу которого взят синтаксис Flex.

Поддерживается LL1 грамматика и синтезируемые атрибуты.

Генератор лексера можно запустить так: zlex tokens.lex. И сгенерируется файл tokens.lex.cpp.

Исходный код генератора лексера

Генератор парсеров можно запустить так: zubr grammar.y. И сгенерируется файл grammar.y.h.

Исходный код генератора парсеров

Пример использования

About

Homework for translation methods course

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published