Все задания которые нужны выполнить для допуска к зачёту по предмету "Основы трансляции"
ОБЩЕЕ ЗАДАНИЕ «Этапы построения компилятора»
1. Представить подгруппу языка в формах Бэкуса-Науэра. 2. Созданную грамматику ввести в файл и проверить правильность написания (выполняется в «Учебном компиляторе»). 3. Построить синтаксические выводы с целью проверки написанной грамматики. При необходимости (выявлены ошибки написания предложений языка) откорректировать грамматику и вновь пройти шаги 1,2. 4. Найти направляющие символы грамматики. Привести грамматику к виду LL(1). 5. Ввести действия в грамматику. Построить синтаксический анализатор. 6. Построить граф распознавания лексических единиц. 7. Написать несколько тестов на проектируемом языке программирования. Протестировать грамматику.
В ОТЧЕТ ПО СЕМЕСТРОВОМУ ЗАДАНИЮ НЕОБХОДИМО ВКЛЮЧИТЬ:
1. Задание. 2. Синтаксические диаграммы для заданного подмножества языка программирования. 3. Начальный текст грамматики. 4. Синтаксические выводы. 5. Направляющие символы не приведенной грамматики. 6. LL(1)-вид грамматики. 7. Направляющие символы приведенной грамматики. 8. Граф распознавания лексических единиц, лексический состав языка программирования. 9. Таблица лексического анализатора. 10. Грамматика со введенными действиями. 11. Синтаксические выводы для грамматики с действиями. 12. Таблица синтаксического анализатора.
13. Тексты тестов, таблицы стандартных символов и синтаксического анализатора, а также матрица интерпретации под каждый тест.
ОГРАНИЧЕНИЯ ПРИ ВВОДЕ
Текст грамматики может быть представлен как набор строк в следующем виде: 1) нетерминальные символы правил заключаются в угловые скобки - это обеспечит их отличие от терминальных символов; 2) для отделения левой части правил от правой используется группа символов "->", как наиболее похожая на стрелку; 3) альтернативы правых частей правил удобно разделять знаком "|", который в форме БНФ читается как "ИЛИ"; 4) длинные правила с большим количеством альтернатив неудобно размещать в одной строке, поэтому введен символ конца правила "%", и текст от начала до знака "%" или между такими знаками будет восприниматься как одно правило, сколько бы строк он ни занимал; 5) для упрощения анализа строк символы грамматики и управляющие знаки ("->", "%", "|") отделяются друг от друга пробелом. Пустое правило не пишется, но присутствует.