【发布时间】:2014-05-09 14:19:05
【问题描述】:
如何将上下文无关语法转换为 DFA?如果我们有类似的转换,这很容易 A->a B. 但是当我们有 A->a B c 的转换时。那我们应该如何将其表示为 DFA
【问题讨论】:
-
你不能总是将 CFG 转换为 DFA,但是如果它是左线性或右线性,那么你可以。在这种情况下,这个答案可能会有所帮助Left-Linear and Right-Linear Grammars
-
所以对于 A->a B c 我们不能构造一个 dfa??
-
查看正确的方法,它首先将语法转换为左行或右行,然后绘制 DFA。如果无法将 CFG 转换为左线性(右线性),那么实际上语法会生成 CFL,它是常规语言的超集,并且 CFL 的 DFA 是不可能的。
A -> a B c只有一个生产规则(不是语法),所以你的问题没有意义
标签: finite-automata dfa