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

Содержание

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

3

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

4

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

4

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

4

1.3 Рехеширование с помощью произведения ………………………..

5

1.4 Упорядоченный список …………………………………………….

8

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

11

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

12

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

12

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

12

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

14

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

17

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

19

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

20

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

21

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

22

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

24

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

25

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

26

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

38

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

45

Введение

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

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

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

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

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

В курсовом проекте используется сопоставление двух методов: хеш-адресация (метод разрешения коллизий: рехешированием с помощью произведения) и упорядоченный список.

Тут вы можете оставить комментарий к выбранному абзацу или сообщить об ошибке.

Оставленные комментарии видны всем.

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