Курсовая работа: Лисп-реализация конечных автоматов
Условные обозначения:
· cur – текущее слово;
· char – текущий символ;
· text – входное слово;
· funct – функция смены состояний;
· start – начальное состояние;
· end – список конечных состояний.
Рисунок 4 – Функциональная модель решения задачи для функции KA
Рисунок 5 – Функциональная модель решения задачи для функции function1
Рисунок 6 – Функциональная модель решения задачи для функции function2
Рисунок 7 – Функциональная модель решения задачи для функции isOneof
4. Программная реализация решения задачи
; Тестовый конечный автомат – функция, преобразуюцая состояние
; Аргументы: ' cur ' – текущее состояние
; ' char ' – текущий символ
; Возвращаемое значение: новое состояние
(defun function 1 (cur char )
(cond
((and (eq char `a) (eq cur `qb)) `q1)
((and (eq char `b) (eq cur `qb)) `q2)
((and (eq char `c) (eq cur `q1)) `qe)
((and (eq char `c) (eq cur `q2)) `qe)
(t `q0)
)
)