Содержание1.Введение
2.Постановка задачи
3.Метаязык Бэкуса-Наура
4.Описание грамматики входного языка в расширенной форме Бэкуса-Наура
5.Диаграммы Вирта
6.Грамматика входного языка в диаграммах Вирта
7.Организация прямого лексического анализатора
8.Заключение
9.Список литературы
10.Листинг программы
11.Приложение А Результат работыВведениеЛексический анализатор осуществляет чтение входной цепочки символов и их группировку в элементарные конструкции, называемые лексемами. Каждая лексема имеет класс и значение. Обычно претендентами на роль лексем выступают элементарные конструкции языка, например, идентификатор, действительное число, комментарий. Полученные лексемы передаются синтаксическому анализатору.
Функции, выполняемые лексическим анализатором, и состав лексем, которые он выделяет в тексте исходной программы, могут меняться в зависимости от версии компилятора. В основном лексические анализаторы выполняют исключение из текста исходной программы комментариев и незначащих пробелов, а также выделение лексем следующих типов: идентификаторов, строковых, символьных и числовых констант, ключевых (служебных) слов входного языка.
Вид представления информации после выполнения лексического анализа целиком зависит конструкции компилятора. Но в общем, виде ее можно представить как таблицу лексем, которая в каждой строчке должна содержать информацию о виде лексемы, и ее типе, возможно, значении.ЗаключениеДля выполнения курсового проекта требовалось написать программу, которая выполняет лексический анализ входного текста в соответствии с заданием и порождает таблицу лексем с указанием их типов и значений. Текст на входном языке задается в виде символьного (текстового) файла. Программа должна выдавать сообщения о наличие во входном тексте ошибок, которые могут быть обнаружены на этапе лексического анализа. Программа должна допускать наличие комментариев неограниченной длины во входном файле. Форма организации комментариев выбрана самостоятельно.Литература1.Леман Д., Смит М. Типы данных / Данные в языках программирования. М.: Мир, 1982.
2.Зайцев В.Ф. Кодирование информации в ЕС ЭВМ. М.: Радио и связь, 1986.
3.Хоор К. О структурной организации данных / Структурное программирование. М.: Мир, 1975.
4.Кнут Д. Искусство программирования для ЭВМ. т.1. Основные алгоритмы. М.:Мир, 1976.
5.Ленгсам Й., Огенстайн М., Тененбаум А. Структуры данных для персональных ЭВМ. М.: Мир, 1989.
|