Разработка синтаксического анализатора для заданного фрагмента кода - Курсовая работа

бесплатно 0
4.5 128
Синтаксически ориентированная трансляция: общие понятия; транслятор, интерпретатор, препроцессор. Программная реализация трансляции, основанной на структуре текста; идея Н. Хомского; языковые процессоры. Заголовочные файлы, алгоритмы и функции программы.


Аннотация к работе
Эта область объединяет идеи, методы и алгоритмы синтаксического, лексического и семантического анализа искусственных языков, а также огромный накопленный практический опыт техники и технологии разработки трансляторов для различных языков программирования высокого уровня, для различных архитектур процессоров и разнообразных операционных систем.Транслятор - это программа, которая переводит входной текст в некоторый выход.Задачей транслятора является выполнить перевод, преобразования текста, написанного на некотором языке L, в некоторый выход. При трансляции языков программирования, от транслятора может требоваться выполнение разных задач. Если задачей транслятора является трансляция в язык низкого уровня, например в машинный язык, или язык ассемблера, то такой транслятор называется компилятором.Синтаксисом языка называется совокупность правил построения текста - предложений и отдельных их составных частей, иными словами это правила построения конструкций языка. Синтаксис языка определяет, как правильно строить предложения и их части. Семантикой языка называется совокупность правил интерпретации предложений и конструкций языка.Программа написана на языке С и разбита на несколько модулей. “fail.h” - данный заголовочный файл отвечает за открытие исходного файла с кодом программы, исходного куска программы который нам надо проанализировать.Вначале производится проверка на корректность данных из файла (существуют ли они и тому подобное), далее работает лексический анализатор и последний осуществляет проверку синтаксический анализатор.Программа проходит в три этапа и при успешном выполнении каждого из них, выводится соответствующее уведомление. Если же, в каком либо из этапов обнаруживается ошибка, программа выполняет соответствующий этап до конца, после чего выводится сообщение с описанием ошибки, но следующий этап не выполняется! Если все прошло без ошибок, выводится соответствующее уведомление: Все символы или их последовательность заносятся в контейнер “list”, и при работе синтаксического анализатора, чтение даны будет осуществляться именно из этого контейнера. Если же, в ходе проверке будет выявлена ошибка, недопустимая последовательность символов, то пользователь увидит соответствующее уведомление об ошибке. Уведомление состоит из номера строки, в котором произошла ошибка (номер строки мы получаем из счетчика, счетчик отдельная структура в которой хранится номер строки и текст ошибки).В ходе выполнения курсовой работы, был разработан синтаксический анализатор для заданного фрагмента кода.

План
СОДЕРЖАНИЕ

ВВЕДЕНИЕ

1. СИНТАКСИЧЕСКИ ОРИЕНТИРОВАННАЯ ТРАНСЛЯЦИЯ

1.1 Общие понятия

1.2 Транслятор, интерпретатор, препроцессор

1.3 Трансляция, основанная на структуре текста. Идея Н. Хомского

2. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ

2.1 Описание заголовочных файлов

2.2 Организация программы

2.3 Реализация программы

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

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

Список литературы
1. Ю.Г Карпов Основы построения трансляторов 2005 г.

2. Библиотека MSDN

3. Основы построения компиляторов: метод. Сост. Н.H. Смирнова С.Д. Тарасов; Балт. гос. техн. ун-т. - СПБ., 2007.

Размещено на .r
Заказать написание новой работы



Дисциплины научных работ



Хотите, перезвоним вам?