Программное средство .Лексический анализатор
курсовые работы, Информатика, программирование Объем работы: 23 стр. Год сдачи: 2012 Стоимость: 500 руб. Просмотров: 918 | | |
Оглавление
Введение
Заключение
Заказать работу
Введение 2
Основы лексического анализа 4
Структура программы на языке Pascal 6
Программная реализация лексического анализатора, осуществляющего восстановление кода программы на языке Pascal 14
Выводы 22
Список использованной литературы 23
В информатике лексический анализ — процесс аналитического разбора входной последовательности символов (например, такой как исходный код на одном из языков программирования) с целью получения на выходе последовательности символов, называемых «токенами» (подобно группировке букв в слова). Группа символов входной последовательности, идентифицируемая на выходе процесса как токен, называется лексемой. В процессе лексического анализа производится распознавание и выделение лексем из входной последовательности символов.
Как правило, лексический анализ производится с точки зрения определённого формального языка или набора языков. Язык, а точнее его грамматика, задаёт определённый набор лексем, которые могут встретиться на входе процесса.
Традиционно принято организовывать процесс лексического анализа, рассматривая входную последовательность символов как поток символов. При такой организации процесс самостоятельно управляет выборкой отдельных символов из входного потока.
Распознавание лексем в контексте грамматики обычно производится путём их идентификации (или классификации) согласно идентификаторам (или классам) токенов, определяемых грамматикой языка. При этом любая последовательность символов входного потока (лексема), которая согласно грамматике не может быть идентифицирована как токен языка, обычно рассматривается как специальный токен-ошибка.
Каждый токен можно представить в виде структуры, содержащей идентификатор токена (или идентификатор класса токена) и, если нужно, последовательность символов лексемы, выделенной из входного потока (строку, число и т. д.).
Цель такой конвертации обычно состоит в том, чтобы подготовить входную последовательность для другой программы, например для грамматического анализатора, и избавить его от определения лексических подробностей в контекстно-свободной грамматике (что привело бы к усложнению грамматики).
Лексический анализатор (англ. lexical analyzer или коротко lexer) — это программа или часть программы, выполняющая...
Основная задача лексического анализатора - разбить входной текст, состоящий из последовательности одиночных символов, на лексем. Все символы входной последовательности на символы, принадлежащие каким-либо лексемам, и символы, разделяющие лексемы (разделители).
Все лексемы делятся на следующие классы: числа (целые, восьмеричные, шестнадцатеричные, действительные и т.д.), идентификаторы, строки, ключевые слова (зарезервированное конечное подмножество идентификаторов) и символы пунктуации (ограничители/разделители).
С точки зрения дальнейших фаз анализа лексический анализатор выдает информацию двух сортов: о последовательности классов лексем, ограничителей и ключевых слов - для синтаксического анализатора и о конкретных значениях отдельных лексем (идентификаторов, чисел и т.д.) - для контекстного анализа.
Схема работы лексического анализатора заключается в поиске очередной лексемы и отнесение ее к соответствующему классу. Построения выходного файла включающего в себя имя лексемы, класс, значение, номер строки в исходной программе для сообщений об ошибки на стадии синтаксического анализа.
В ходе выполнения данной работы был создан простейший лексический анализатор, осуществляющий восстановление исходного кода программы на языке Pascal. Проведенное тестирование показало работоспособность разработанной программы.
После офорления заказа Вам будут доступны содержание, введение, список литературы*
*- если автор дал согласие и выложил это описание.