如何将某种常规语言转换为其等效的上下文无关语法?
是否有必要构造与该正则表达式相对应的DFA,或者是否存在用于此类转换的规则?
例如,考虑以下正则表达式
01+10(11)*
如何描述上述RE对应的语法?
最佳答案
G -> A
G -> B
G -> (empty)
G -> A G
G -> AB
并以递归方式继续处理A和B。基本情况是空的语言(无结果)和单个符号。
在你的情况下
A -> 01
A -> 10B
B -> (empty)
B -> 11B
如果语言是通过有限自动机描述的:
关于regex - 将正则表达式转换为CFG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2639468/