Скачиваний:
31
Добавлен:
02.05.2014
Размер:
884.22 Кб
Скачать

Содержание

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

2

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

3

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

3

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

3

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

4

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

6

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

7

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

9

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

8

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

9

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

10

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

12

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

13

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

13

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

12

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

16

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

20

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

20

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

21

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

33

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

42

Введение

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

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

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

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

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

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

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

Соседние файлы в папке ПЗ