void (*f)(); // указатель функции, вызываемой на переходе
};
Рассмотрим применение конечного автомата на примере сборки вещественной константы, заданной своим символьным представлением вида “–234.456E-12”. Эту задачу должен решать любой транслятор в фазе лексического анализа. Граф конечного автомата для решения этой задачи представлен на риc.29.
Рис. 29 Граф конечного автомата
Вершины графа соответствуют состояниям, а ребра помечены классом возможного входного символа и функцией, выполняемой на переходе. Начальным является состояние 1. Таблица, приведенная ниже, поясняет функционирование автомата.
Состо яние
Вход. символ
Следующ.
состояние
Пояснение
цифра
Цифра относится к целой части мантиссы
знак
Это знак числа
цифра
Продолжают поступать цифры целой части мантиссы
точка
Точка, отделяющая целую часть мантиссы от дробной
Е,е
Целая часть мантиссы закончилась, дробная часть отсутствует, но имеется порядок числа
цифра
Это цифра целой части мантиссы
цифра
Цифра дробной части мантиссы
цифра
Продолжают поступать цифры дробной части мантиссы
Е,е
Дробная часть мантиссы закончилась, начинается порядок