该理论说关于 lex 工具(我读过 ocamllex),它会将正则表达式的集合转换为 DFA 的 C(OCaml)代码(实际上在 NFA 和 NFA2DFA 中)。DFA M 的正式定义是一个 5 元组 M = { Q, Sigma, transition_function, q0, F}。我在生成的文件中发现如下:
- 一条名为 __ocaml_lex_tables 的记录,其中包含来自 Lexing 模块的字段
- 递归函数
DFA 的对象/结构与 ocamllex 生成的结构之间是否存在映射?我无法“看到”它......我也在谷歌搜索寻求帮助,但我没有找到任何有用的例子。
ocamllex 工具的答案在 DFA 上下文中是有意义的,例如7 个状态、279 个转换、表大小 1158 字节。
是状态转换表吗?如何“阅读”它?感谢您提供任何链接/提示!