Дипломная работа: Программно методический комплекс для обучения процессу создания компиляторов
К защите допустить “____”_________ 2003 г
Зав. кафедрой ___________
дипломный проект
|
ТЕМА:
РАСЧЕТНО - ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
Выполнил студент группы Д – 1061 _________ А.И. Кузнецов
Руководитель проекта ст. преподаватель _________
Консультант по профессор, д.т.н. _________
охране труда
Консультант по эко- доцент, к.т.н. _________
номической части
Председатель экс- ст. преподаватель _________
пертной комиссии
Воткинск 2003
Определения
В настоящем дипломном проекте применяются следующие термины с соответствующими определениями.
Ассемблер - программа, которая переводит исходную программу, написанную на автокоде или на языке ассемблера (что, суть, одно и то же), в объектный (исполняемый) код.
БНФ (Бэкуса нормальная форма) – грамматика, состоящая из конечного множества правил, определяющих в совокупности язык программирования.
Выражение – правила получения нового значения с помощью знаков операций и скобок, частным случаем выражения может быть просто одиночный элемент, т.е. константа или переменная.
Идентификатор – имя переменной, процедуры, функции, программы.
Инструкция – синтаксическая структура, содержащая ключевые, шумовые слова и конструкции. Бывают простые и структурированные. Простые инструкции не содержат в себе других вложенных инструкций (присваивание, GOTO). Структурированные инструкции могут содержать вложенные инструкции (IF <булево выражение> THEN <безусловный оператор> ELSE<оператор>).
Компилятор – системная программа, выполняющая преобразование программы, написанной на одном алгоритмическом языке, в программу на языке, близком к машинному, и в определенном смысле эквивалентную первой.
Лексема – единица программы, получающаяся в результате лексического анализа, например: for, i, 10, integer, + и т. п.
Лексический анализ – выделение в исходной программе элементарных составляющих: идентификаторов, ограничителей, символов операторов, чисел, ключевых слов, шумовых слов, пробелов, комментариев и т. п.
Литера – любой символ, множество литер составляют лексему.
Литерал – численное или строковое значение, заданное один раз, и не изменяемое в течение программы.
Метод операторного предшествования – восходящий метод грамматического разбора, основан на анализе пар последовательно расположенных операторов исходной программы и решении вопроса о том, какой из них должен выполняться первым.
Нетерминальный символ – имя конструкции, определенной внутри грамматики.
Рекурсивный спуск – нисходящий метод грамматического разбора, основан на том, что для каждого нетерминального символа, определенного в грамматике, существует отдельная процедура обработки. При этом в процессе своей работы она может вызывать подобные процедуры
Семантика языка программирования - это смысл, который закладывается в каждую конструкцию языка.
Семантический анализ - это проверка смысловой правильности конструкции. Например, если мы в выражении используем переменную, то она должна быть определена ранее по тексту программы, а из этого определения может быть получен ее тип. Исходя из типа переменной, можно говорит о допустимости операции с данной переменной.
Семантический анализ – в нем обрабатываются структуры, распознанные синтаксическим анализатором, и начинает обретать очертания выполняемый код.
--> ЧИТАТЬ ПОЛНОСТЬЮ <--