Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
23
Добавлен:
02.05.2014
Размер:
608.26 Кб
Скачать

Содержание

Введение.........................................................................................................

2

1. Организация таблицы идентификаторов.................................................

3

1.1. Исходные данные.................................................................................

3

1.2. Назначение таблиц идентификаторов...............................................

3

1.3. Метод простого рехеширования........................................................

5

1.4. Метод простого списка.......................................................................

7

1.5. Результаты............................................................................................

9

2. Проектирование лексического анализатора............................................

11

2.1. Исходные данные.................................................................................

11

2.2. Принципы работы лексического анализатора..................................

12

2.3. Схема распознавателя.........................................................................

13

2.4. Результаты............................................................................................

14

3. Проектирование синтаксического анализатора......................................

15

3.1. Исходные данные.................................................................................

15

3.2. Построение синтаксического анализатора........................................

15

3.3. Результаты............................................................................................

19

Заключение.....................................................................................................

21

Список использованной литературы...........................................................

22

Приложение А  Исходный текст программы............................................

23

Приложение Б  Граф состояний лексического анализатора....................

34

Приложение В  Матрица операторного предшествования......................

36

Введение

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

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

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

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

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

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

В качестве среды разработки для реализации приложения использован язык программирования Delphi 7 и система программирования Borland Delphi 7.

Соседние файлы в папке хе6рнь