是否所有上下文无关语法都可以转换为NFA/DFA?

Can all context free grammars be converted to NFA/DFA?

我看过这个 post 关于如何将上下文无关语法转换为 DFA 的内容: Automata theory : Conversion of a Context free grammar to a DFA

但是,只是想知道是否可以将所有上下文无关文法都转换为DFA/NFA?不能用正则表达式表达的上下文无关文法呢?前任。 S->(S) | ()

谢谢!

只有常规语言可以转换为 DFA,并非所有 CFG 都代表常规语言,包括问题中的语言。

所以答案是"no"。

NFA 并不比 DFA 更具表现力,因此如果您将 DFA 替换为 NFA,上述说法仍然成立

如果 CFG 是右线性或左线性的,则 CFG 表示常规语言。但是 CFG 不是左线性或右线性这一事实并不能证明什么。例如,S→a | a S a 恰好生成与 S→a | S a a.

相同的语言