- •Введение
- •Общие требования к курсовой работе
- •Этапы выполнения курсовой работы
- •2.2.2. Определение синтаксиса лексем
- •2.2.3. Построение диаграммы лексического анализатора
- •2.2.4. Тестирование лексического анализатора
- •2.3. Описание этапа синтаксического анализа
- •2.3.1. Построение кс-грамматики входного языка
- •2.4.8. Построение атрибутного дмп-процессора
- •2.4.9. Тестирование атрибутного дмп-процессора
- •3. Задания на курсовую работу
- •Задание 1
Введение
В учебных планах подготовки дипломированных специалистов по направлениям 654600 (специальность 020400) – и 657100 (специальность 010200) и магистров по направлениям 552800 и 510200 значительное место занимают дисциплины, связанные с изучением теории формальных грамматик и языков и методов построения языковых процессоров. Знания, приобретенные при изучении теории, в значительной степени оказываются бесполезными, если их не удается применить на практике.
Целью курсовой работы по дисциплине «Теория языков программирования и методы трансляции» является приобретение практических навыков разработки формального описания перевода некоторого алгоритмического языка программирования в заданное внутреннее представление программы.
Методические указания содержат общие требования к курсовой работе, описание содержания основных этапов выполнения курсовой работы, задания на курсовую работу и правила оформления пояснительной записки.
Методические указания предназначены для подготовки дипломированных специалистов по направлениям 654600 – «Информатика и вычислительная техника» (специальность 020400 - «Программное обеспечение вычислительной техники и автоматизированных систем») и 657100 «Прикладная математика» (специальность 010200 – «Прикладная математика»), магистров по направлениям 552800 – «Информатика и вычислительная техника» и 510200 – «Прикладная математика и информатика», а также могут быть полезны аспирантам, магистрам и студентам других специальностей и направлений, интересующихся формальными методами описания перевода и вопросами проектирования языковых процессоров.
Общие требования к курсовой работе
Техническим заданием на разработку компилятора является задание на курсовое проектирование, выдаваемое студентам в начале семестра. При выполнении курсовой работы возможны изменения задания (расширение или упрощение), но все изменения должны быть обоснованы, согласованы с руководителем курсовой работы и документально оформлены.
В процессе выполнения курсовой работы студенты должны разработать описание синтаксиса и семантики входного языка, ориентированное на разработчиков языкового процессора, формальное описание синтаксиса и семантики языка с помощью атрибутных транслирующих грамматик, структуры данных и алгоритмы работы блоков лексического и синтаксического анализа языкового процессора, составить и отладить программные модули, реализующие перевод конструкций входного языка в заданную внутреннюю форму программы.
Результат выполнения курсовой работы оформляется в виде пояснительной записки, содержащей выбор, обоснование и описание принятых решений, внешние и внутренние спецификации модулей.
При защите курсовой работы студент должен уметь обосновывать принятые решения и продемонстрировать программную реализацию перевода для разных входных данных, как правильных, так и содержащих ошибки.
В процессе выполнения курсовой работы возможно использование специализированных программных средств, разработанных на кафедре математического обеспечения и применения ЭВМ и изучаемых в лабораторном практикуме по дисциплине «Теория языков программирования и методы трансляции». Использование других программных средств возможно только при согласовании с руководителем курсовой работы.