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

ОГЛАВЛЕНИЕ

Введение 3

1.ОБЩИЕ ТРЕБОВАНИЯ К КУРСОВОМУ ПРОЕКТУ 3

  1. 2. Этапы выполнения курсовоГо проекта …4

2.1  Описание входного языка 4

2.1.1. Описание синтаксиса входного языка ……………………………..4

2.1.2. Описание семантики входного языка 6

2.2. Описание этапа лексического анализа 8

2.2.1. Определение типов лексем 9

2.2.2. Определение синтаксиса лексем 10

2.2.3. Построение диаграммы лексического анализатора 10

2.2.4. Результаты работы лексического анализатора 11

2.3. Описание этапа синтаксического анализа 11

2.4.1. Построение КС-грамматики входного языка 12

2.4.2. Определение класса КС-грамматики входного языка 12

2.4.3. Разбиение грамматики на подграмматики 12

2.4.4. Описание промежуточного языка 13

2.4.5. Неформальное описание перевода 14

3. ЗАДАНИЯ НА КУРСОВОЙ ПРОЕКТ 19

Список литературы …………………………………………………………….. 30

Введение

В учебных планах подготовки дипломированных специалистов по направлениям 654600 (специальность 020400) – и 657100 (специальность 010200) и магистров по направлениям 552800 и 510200 значительное место занимают дисциплины, связанные с изучением теории формальных грамматик и языков и методов построения языковых процессоров. Знания, приобретенные при изучении теории, в значительной степени оказываются бесполезными, если их не удается применить на практике.

Целью курсового проекта по дисциплине «Теория языков программирования и методы трансляции» является приобретение практических навыков разработки формального описания перевода некоторого алгоритмического языка программирования в заданное внутреннее представление программы.

Методические указания содержат общие требования к курсовому проекту, описание содержания основных этапов выполнения курсового проекта, задания на курсовой проект и правила оформления пояснительной записки.

Методические указания предназначены для подготовки дипломированных специалистов по направлениям 654600 – «Информатика и вычислительная техника» (специальность 020400 - «Программное обеспечение вычислительной техники и автоматизированных систем») и 657100 «Прикладная математика» (специальность 010200 – «Прикладная математика»), магистров по направлениям 552800 – «Информатика и вычислительная техника» и 510200 – «Прикладная математика и информатика», а также могут быть полезны аспирантам, магистрам и студентам других специальностей и направлений, интересующихся формальными методами описания перевода и вопросами проектирования языковых процессоров.

  1. Общие требования к курсовому проекту

Техническим заданием на разработку компилятора является задание на курсовое проектирование, выдаваемое студентам в начале семестра. При выполнении курсового проекта возможны изменения задания (расширение или упрощение), но все изменения должны быть обоснованы, согласованы с руководителем курсовой работы и документально оформлены.

В процессе выполнения курсовой работы студенты должны разработать описание синтаксиса и семантики входного языка, ориентированное на разработчиков языкового процессора, формальное описание синтаксиса и се­мантики языка с помощью атрибутных транслирующих грамматик, структуры данных и алгоритмы работы блоков лексического и синтаксического анализа языкового процессора, составить и отладить программные модули, реализующие перевод конструкций входного языка в заданную внутреннюю форму программы.

Результат выполнения курсовой работы оформляется в виде пояснительной записки, содержащей выбор, обоснование и описание принятых решений, внешние и внутренние спецификации модулей.

При защите курсовой работы студент должен уметь обосновывать принятые решения и продемонстрировать программную реализацию перевода для разных входных данных, как правильных, так и содержащих ошибки.

В процессе выполнения курсовой работы возможно использование специализированных программных средств, разработанных на кафедре математического обеспечения и применения ЭВМ и изучаемых в лабораторном практикуме по дисциплине «Теория языков программирования и методы трансляции». Использование других программных средств возможно только при согласовании с руководителем курсовой работы.