Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовой 14 вариант / ПОЯСНИТЕЛЬНАЯ ЗАПИСКА.docx
Скачиваний:
18
Добавлен:
02.02.2015
Размер:
40.94 Кб
Скачать

Министерство образования и науки РФ

ФГБОУ ВПО «Саратовский государственный технический университет имени Гагарина Ю.А.»

Кафедра «Информационная безопасность автоматизированных систем»

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

“Теория языков программирования и методы трансляции”

Проектирование трансляторов

Выполнила: ст. гр. зПВС-51

Осипова Д.А.

Проверил: Сайкин А.И.

Саратов 2015

Содержание

  1. Введение

В качестве вводной части к курсовому проекту рассмотрим теоретические аспекты лексического и синтаксического анализов.

Лексический анализ – разбиение последовательности символов входного текста на последовательность слов, или лексем. Выделение лексем из текста обычно предшествует стадии синтаксического анализа, например, при построении компилятора с какого-нибудь языка программирования, хотя может потребоваться и для решения других задач, не связанных с синтаксическим анализом текстов. Обычно все лексемы делятся на классы. Примерами таких классов являются числа (целые, восьмеричные, шестнадцатиричные, действительные и т.д.), идентификаторы, строки. Отдельно выделяются ключевые слова и символы пунктуации (иногда их называют символы-ограничители). Как правило, ключевые слова - это некоторое конечное подмножество идентификаторов. В большинстве случаев лексический анализ выполняется перед синтаксическим. Программный компонент, осуществляющий подобную операцию, называется лексическим анализатором или сканером.

Синтаксическим анализом называют разбор цепочек лексем входного текста с целью проверки того факта, что данная цепочка удовлетворяет правилам некоторого формального языка. Формальный язык – это подмножество цепочек в некотором алфавите. Допустимая цепочка называется предложением языка. Для выделения лексем цепочки обычно применяются методы лексического анализа.

Задачу реализации синтаксического анализа приходится решать при разработке трансляторов с языков программирования в машинные коды, а также при необходимости разбора входных данных, записанных по определенным правилам в виде текстовых документов. Программный компонент-синтаксический анализатор часто является «пусковым механизмом», запускающим работу остальных компонентов программы, ответственных за обработку входных данных. Анализатор принимает или отвергает предложения языка и в процессе своей работы передает информацию о принятых предложениях в другие компоненты программной системы, такие, например, как построитель внутреннего представления данных. Таким образом, входом для синтаксического анализатора являются цепочки символов входного языка, а выходными данными являются законченные предложения того же языка, которые, в свою очередь, могут нести некоторый логический смысл, доступный другим компонентам программной системы.

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

2. Постановка задачи

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

Вариант задания: (14: 2-3-1)

  1. Алфавит входного языка состоит из латинских букв;

  2. К ключевым словам относятся описания операторов безусловного перехода, описатели функции, ключевые слова, обозначающие начало и конец программы, описание типа, ввод и вывод, присваивание;

  3. Присутствует поддержка библиотечных функций sin, cos, tan, exp;

  4. К разделителям относятся +, -, *, :, _, /, (, ), {, }, =, , , ‘ , ‘,’ и пробел;

  5. Идентификаторы должны начинаться с буквы, не включать в себя разделители;

  6. Текст программы должен допускать использование комментариев.

Соседние файлы в папке Курсовой 14 вариант