Федеральное агентство
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное образовательное учреждение
высшего профессионального образования
«Чувашский государственный университет им. И.Н. Ульянова»
Факультет информатики и вычислительной техники
Кафедра «МиАОИС»
Дисциплина: «Системное программное обеспечение»Курсовая работа
Идентификатор компилятора
Выполнили:
студенты группы ИВТ-11-05
Храмов Д.
Гаврилов Е.
Проверил:
Харитонова А.М.
Чебоксары 2008
Содержание
Лист
Содержание…………………………………………………………………………………..2Введение 3
1 Организация таблицы идентификаторов 4
1.1 Исходные данные 4
1.2 Назначение таблицы идентификаторов 4
1.3 Метод простого рехэширования 4
1.4 Метод цепочек 6
1.6 Вывод 7
Заключение 8
Список литературы 9
Приложение А – Листинги программы 10
Введение
Компилятор – программный модуль, задачей которого является перевод программы, написанной на одном из языковпрограммирования (исходный язык) в программу на язык ассемблера или язык машинных команд.
Большинство компиляторов переводят программу с некоторого высокоуровневого языка программирования в машинный код, который может быть непосредственно выполнен компьютером.
Целью данной курсовой работы является изучение составных частей, основных принципов построения и функционирования компиляторов,практическое освоение методов построения составных частей компилятора для заданного входного языка.
Курсовая работа заключается в создании отдельных частей компилятора заданного языка.
В первой части работы ставится задача разработать программу, которая получает на входе набор идентификаторов, организует таблицу по заданному методу и позволяет осуществить многократный поиск идентификатора в этойтаблице. Программа должна сообщать среднее число коллизий и среднее количество сравнений, выполняемых для поиска идентификатора.
Во второй части работы требуется разработать программу, которая выполняет лексический анализ входного текста по заданной грамматике и порождает таблицу лексем с указанием их типов и значений.
В третьей части работы требуется разработать программу, которая наосновании таблицы лексем выполняет синтаксический разбор текста по заданной грамматике с построением дерева разбора.
Результатами курсовой работы являются программная реализация заданного компилятора и пояснительная записка, оформленная в соответствии с требованиями стандартов и задания на курсовую работу.
В качестве среды разработка для реализации программы использован языкпрограммирования C++ и система программирования Borland CBuilder 6.
1 Организация таблицы идентификаторов
1.1 Исходные данные
На входе имеется набор идентификаторов, которые организуются в таблицу по одному из двух методов (метод простого рехэширования и метод цепочек). Необходима возможность осуществления многократного поиска идентификатора в этой таблице. Список идентификаторов считатьзаданным в виде текстового файла. Длина идентификатора ограничена 32 символами.
Первый метод организации таблицы – простое рехэширование. Второй – метод цепочек.
Требуется, чтобы программа сообщала число коллизий и количество сравнений, выполняемых при поиске идентификатора.
1.2 Назначение таблицы идентификаторов
Проверка правильности семантики и генерация кода требуют знанияхарактеристик идентификаторов, используемых в программе на исходном языке. Эти характеристики выясняются из описаний и из того, как идентификаторы используются в программе и накапливаются в таблице символов или таблице идентификаторов. Любая таблица символов состоит из набора полей, количество которых равно числу идентификаторов программы. Каждое поле содержит в себе полную...
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное образовательное учреждение
высшего профессионального образования
«Чувашский государственный университет им. И.Н. Ульянова»
Факультет информатики и вычислительной техники
Кафедра «МиАОИС»
Дисциплина: «Системное программное обеспечение»Курсовая работа
Идентификатор компилятора
Выполнили:
студенты группы ИВТ-11-05
Храмов Д.
Гаврилов Е.
Проверил:
Харитонова А.М.
Чебоксары 2008
Содержание
Лист
Содержание…………………………………………………………………………………..2Введение 3
1 Организация таблицы идентификаторов 4
1.1 Исходные данные 4
1.2 Назначение таблицы идентификаторов 4
1.3 Метод простого рехэширования 4
1.4 Метод цепочек 6
1.6 Вывод 7
Заключение 8
Список литературы 9
Приложение А – Листинги программы 10
Введение
Компилятор – программный модуль, задачей которого является перевод программы, написанной на одном из языковпрограммирования (исходный язык) в программу на язык ассемблера или язык машинных команд.
Большинство компиляторов переводят программу с некоторого высокоуровневого языка программирования в машинный код, который может быть непосредственно выполнен компьютером.
Целью данной курсовой работы является изучение составных частей, основных принципов построения и функционирования компиляторов,практическое освоение методов построения составных частей компилятора для заданного входного языка.
Курсовая работа заключается в создании отдельных частей компилятора заданного языка.
В первой части работы ставится задача разработать программу, которая получает на входе набор идентификаторов, организует таблицу по заданному методу и позволяет осуществить многократный поиск идентификатора в этойтаблице. Программа должна сообщать среднее число коллизий и среднее количество сравнений, выполняемых для поиска идентификатора.
Во второй части работы требуется разработать программу, которая выполняет лексический анализ входного текста по заданной грамматике и порождает таблицу лексем с указанием их типов и значений.
В третьей части работы требуется разработать программу, которая наосновании таблицы лексем выполняет синтаксический разбор текста по заданной грамматике с построением дерева разбора.
Результатами курсовой работы являются программная реализация заданного компилятора и пояснительная записка, оформленная в соответствии с требованиями стандартов и задания на курсовую работу.
В качестве среды разработка для реализации программы использован языкпрограммирования C++ и система программирования Borland CBuilder 6.
1 Организация таблицы идентификаторов
1.1 Исходные данные
На входе имеется набор идентификаторов, которые организуются в таблицу по одному из двух методов (метод простого рехэширования и метод цепочек). Необходима возможность осуществления многократного поиска идентификатора в этой таблице. Список идентификаторов считатьзаданным в виде текстового файла. Длина идентификатора ограничена 32 символами.
Первый метод организации таблицы – простое рехэширование. Второй – метод цепочек.
Требуется, чтобы программа сообщала число коллизий и количество сравнений, выполняемых при поиске идентификатора.
1.2 Назначение таблицы идентификаторов
Проверка правильности семантики и генерация кода требуют знанияхарактеристик идентификаторов, используемых в программе на исходном языке. Эти характеристики выясняются из описаний и из того, как идентификаторы используются в программе и накапливаются в таблице символов или таблице идентификаторов. Любая таблица символов состоит из набора полей, количество которых равно числу идентификаторов программы. Каждое поле содержит в себе полную...
Поделиться рефератом
Расскажи своим однокурсникам об этом материале и вообще о СкачатьРеферат