Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kr_Metodicheskie_Ukazania.doc
Скачиваний:
31
Добавлен:
15.04.2015
Размер:
493.57 Кб
Скачать

27

1. Требования к выполнению курсовой работы и порядок выполнения

1.1. Цель работы

Цель работы состоит в использовании полученных на лекциях и закрепленных на лабораторных работах теоретических принципов построения компиляторов для практической реализации простейшего компилятора для заданного входного языка.

В качестве входного языка используется подмножество языка программирования Паскаль. Варианты заданий и описание грамматики входного языка приведены в приложении 1 и приложении 2 соответственно.

Компилятор должен состоять из следующих частей:

  • лексический анализатор;

  • синтаксический анализатор.

В результате выполнения курсовой работы должны быть разработаны программная реализация компилятора и пояснительная записка, выполненная в соответствии с заданием на курсовую работу и оформленная в соответствии с требованиями ГОСТ.

1.2. Порядок выполнения работы

Работа должна выполняться в следующей последовательности:

1) построение лексического анализатора:

  • изучение задания на работу с целью определения перечня используемых типов лексем;

  • разработка для каждого используемого в задании типа лексем своей автоматной грамматики;

  • утверждение разработанных автоматных грамматик у преподавателя;

  • разработка для каждого типа лексем своего конечного автомата и, если необходимо, объединенного (единого для распознавания всех заданных лексем) конечного автомата;

  • выбор (по согласованию с преподавателем) способов организации таблиц лексического анализатора;

  • разработка программной реализации каждого автомата;

  • разработка программной реализации лексического анализатора в целом;

  • тестирование лексического анализатора;

2) построение синтаксического анализатора:

  • уточнение в соответствии с конкретным заданием грамматики входного языка, приведенной в приложении 1;

  • удаление в правилах грамматики левой рекурсии;

  • утверждение уточненной грамматики у преподавателя;

  • разработка в соответствии с грамматикой и требованиями метода рекурсивного спуска распознающих процедур для каждого нетерминального символа грамматики;

  • разработка программной реализации синтаксического анализатора в целом;

  • тестирование лексического анализатора;

3) разработка программной реализации двухфазного (лексический и синтаксический анализ) компилятора в целом;

4) тестирование компилятора.

1.3. Требования к содержанию пояснительной записки

Пояснительная записка к курсовой работе должна быть оформлена в соответствии с требованиями ГОСТ и содержать следующие разделы:

- задание к выполнению курсовой работы;

- анализ задания с описанием всех типов используемых в задании лексем, операторов и их особенностей;

- описание выбранных способов организации таблиц лексического анализатора;

- автоматные грамматики для каждого из типов лексем;

- конечные автоматы для каждого из типов лексем;

- текст программы лексического анализатора;

- описание результатов тестирования лексического анализатора;

- описание уточненной грамматика входного языка в одной из трех возможных форм:

- форма Бэкуса-Наура;

- регулярных выражений (с метасимволами);

- графическая форма (синтаксические диаграммы);

- тексты распознающих процедур для метода рекурсивного спуска;

- текст программы синтаксического анализатора в целом;

- описание результатов тестирования синтаксического анализатора;

- описание принципов программной реализации двухфазного компилятора в целом;

- текст программы компилятора в целом;

- описание результатов тестирования компилятора в целом.

Любое отступление от приведенных требований ведет к снижению итоговой оценки.

1.4. Принципы оценки результатов работы

Выполненная работа оценивается по следующим параметрам:

- степень законченности и самостоятельности разработки компилятора;

- степень соответствия разработанного компилятора требованиям задания;

- степень соответствия содержания пояснительной записки требованиям п. 1.3 «Требования к содержанию пояснительной записки»;

- качество программной реализации компилятора (графический интерфейс, отсутствие зависаний, продуманность сообщений об ошибках);

- степень понимания автора работы того, что было сделано и приведено в пояснительной записке.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]