Курсовая работа: Разработка и отладка формального языка
B% As Integer
Const D As Single
Dim M (2) As Integer A = (B*2 + 9)^10
If ((IsNumeric (A) <>0 and A>0) Then
MsgBox («A is number», vbOkOnly) EndI
Text. Text = A
End Sub
Дерево к данному примеру приведено на листе А1.
Разработка сканера
Лексический анализ проводится сканером (лексическим анализатором). Сканер выделяет простейшие языковые конструкции (лексемы) и классифицирует их тип.
Сканер работает с таблицами, которые являються базой данных сканера.
Таблицы делятся на постоянные и временные.
Постоянные таблицы создаются разработчиком сканера и включают в себя:
ТТС1 – таблица терминальных символов (однолитерных).
ТТС2 – таблица терминальных символов (двулитерных).
ТКС – таблица ключевых слов.
Временные таблицы создаются в процессе работы сканера и зависят от исходного модуля (программы, проверяемой сканером). Временные таблицы включают в себя:
ТИ – таблица идентификаторов.
ТК – таблица констант.
ТФ – таблица функций.
ТСС – таблица стандартных символов.
ТСС является результатом работы сканера. Это взаимно-однозначное отображение исходного модуля.
Формальное определение лексем.
Лексические единицы:
арифметические операции : «+», «/», «^».
операции сравнения : «>», «<», «=», «>=», «<=», «<>»
операция присваивания : «=»
скобка открывающая «(«
скобка закрывающая «)»