Все задания которые нужны выполнить для допуска к зачёту по предмету "Основы трансляции"
Общее задание «Этапы построения компилятора»
Представить подгруппу языка в формах Бэкуса-Науэра.
Созданную грамматику ввести в файл и проверить правильность написания (выполняется в «Учебном компиляторе»).
Построить синтаксические выводы с целью проверки написанной грамматики. При необходимости (выявлены ошибки написания предложений языка) откорректировать грамматику и вновь пройти шаги 1,2.
Найти направляющие символы грамматики. Привести грамматику к виду LL(1).
Ввести действия в грамматику. Построить синтаксический анализатор.
Построить граф распознавания лексических единиц.
Написать несколько тестов на проектируемом языке программирования. Протестировать грамматику.
В отчет по семестровому заданию необходимо включить
Задание.
Синтаксические диаграммы для заданного подмножества языка программирования.
Начальный текст грамматики.
Синтаксические выводы.
Направляющие символы не приведенной грамматики.
LL(1)-вид грамматики.
Направляющие символы приведенной грамматики.
Граф распознавания лексических единиц, лексический состав языка программирования.
Таблица лексического анализатора.
Грамматика со введенными действиями.
Синтаксические выводы для грамматики с действиями.
Таблица синтаксического анализатора.
Тексты тестов, таблицы стандартных символов и синтаксического анализатора, а также матрица интерпретации под каждый тест.
Ограничения при вводе
Текст грамматики может быть представлен как набор строк в следующем виде:
нетерминальные символы правил заключаются в угловые скобки - это обеспечит их отличие от терминальных символов;
для отделения левой части правил от правой используется группа символов "->", как наиболее похожая на стрелку;
альтернативы правых частей правил удобно разделять знаком "|", который в форме БНФ читается как "ИЛИ";
длинные правила с большим количеством альтернатив неудобно размещать в одной строке, поэтому введен символ конца правила "%", и текст от начала до знака "%" или между такими знаками будет восприниматься как одно правило, сколько бы строк он ни занимал;
для упрощения анализа строк символы грамматики и управляющие знаки ("->", "%", "|") отделяются друг от друга пробелом. Пустое правило не пишется, но присутствует.