Приложение 1
Функция переходов конечного автомата для лабораторной работы № 2
Условные обозначения:
• А– любой алфавитно-цифровой символ;
• А(*) – любой алфавитно-цифровой символ, кроме перечисленных в скобках;
• П – любой незначащий символ (пробел, знак табуляции, перевод строки, возврат каретки);
• Б – любая буква английского алфавита (прописная или строчная) или символ подчеркивания («_»);
• Б(*) – любая буква английского алфавита (прописная или строчная) или символ подчеркивания («_»), кроме перечисленных в скобках;
• Ц – любая цифра от 0 до 9;
• F – функция обработки таблицы лексем, вызываемая при переходе КА из одного состояния в другое; обозначения ее аргументов:
v – переменная, запомненная при работе КА;
d – константа, запомненная при работе КА;
a – текущий входной символ КА.
В остальных случаях аргументом функции F является соответствующая лексема. Конечный автомат:
M(Q,Σ,δ,q 0,F):
Q = {H, C, G, V, D, I1, I2, T1, T2, T3, T4, E1, E2, E3, E4, O1, O2, X1, X2, X3, A1, A2, A3, F}
Σ = А (все допустимые алфавитно-цифровые символы); q 0= H; F = {F}.
В таблице П1.1. указаны значения функции переходов δ.
Таблица П1.1. Функция переходов δ
При описании функции переходов через разделитель «|» указаны вызовы функции F, необходимые при выполнении того или иного перехода (если они есть).
Приложение 2
Функция переходов конечного автомата для курсовой работы
Условные обозначения:
• А – любой алфавитно-цифровой символ;
• А(*) – любой алфавитно-цифровой символ, кроме перечисленных в скобках;
• П – любой незначащий символ (пробел, знак табуляции, перевод строки, возврат каретки);
• Б – любая буква английского алфавита (прописная или строчная) или символ подчеркивания («_»);
• Б(*) – любая буква английского алфавита (прописная или строчная) или символ подчеркивания («_»), кроме перечисленных в скобках;
• Ц– любая цифра от 0 до 9;
• F – функция обработки таблицы лексем, вызываемая при переходе КА из одного состояния в другое, обозначения ее аргументов:
v – переменная, запомненная при работе КА;
d – константа, запомненная при работе КА;
a – текущий входной символ КА.
В остальных случаях аргументом функции F является соответствующая лексема.
Конечный автомат:
M(Q,Σ,δ,q 0,F):
Q = {H, C, C1, G, S, L, V, D, P1, P2, P3, P4, E1, E2, E3, I1, I2, L2, L3, L4, B1, B2, B3, B4, B5, W1, W2, W3, W4, W5, O1, O2, D1, D2, X1, X2, X3, A1, A2, A3, N1, N2, N3, F}
Σ = А (все допустимые алфавитно-цифровые символы); q 0= H; F = {F, S}.
В таблице П2.1. указаны значения функции переходов δ.
Таблица П2.1. Функция переходов δ
При описании функции переходов через разделитель «|» указаны вызовы функции F, необходимые при выполнении того или иного перехода (если они есть).
Приложение 3
Тексты программных модулей для курсовой работы
Модуль структуры данных для таблицы идентификаторов
Следует обратить внимание, что функция Upper в листинге П3.1 построена на основе условной компиляции:
• если при компиляции определено имя «REGNAME», то таблицы идентификаторов строятся на основе имен переменных, не зависящих от регистра символов (прописные и строчные буквы не различаются);
• если при компиляции имя «REGNAME» не определено, то таблицы идентификаторов строятся на основе имен переменных, зависящих от регистра символов (прописные и строчные буквы различаются).
Листинг П3.1. Описание структуры данных для элементов таблицы идентификаторов
unit TblElem;
Читать дальше
Конец ознакомительного отрывка
Купить книгу