теория говорит об инструменте lex (я читал ocamllex), он преобразует набор регулярных выражений в код C (OCaml) для DFA (на самом деле в NFA, а также в NFA2DFA). Формальное определение DFA M — это кортеж из 5 M = {Q, Sigma, transition_function, q0, F}. В сгенерированном файле я нашел следующее:
- запись под названием __ocaml_lex_tables с полями из модуля Lexing
- рекурсивная функция
Существует ли сопоставление между объектами/структурами DFA и структурами, созданными ocamllex? Я не могу "видеть" это.... также я искал помощь в поиске по Google и не нашел ни одного полезного примера.
Ответ от инструмента ocamllex имеет смысл в контексте DFA, например. 7 состояний, 279 переходов, размер таблицы 1158 байт.
Это таблица переходов состояний? Как это «читать»? Спасибо за любую ссылку/подсказку!