我试图找出是否可能有一个CFG的例子,因为它不可能给出一个可以接受相同语言的正则表达式。
答案 0 :(得分:1)
由于常规机器/表达式只有有限(预定义)的状态数,因此它不能“记住”(无限地)输入的早期部分。
因此,对于状态机来说,识别以下表达式是不可能的:a n b n (n∈ℕ)
你可以为n≤x制作这样一台机器,其中x∈ℕ,但是没有状态机可以为every的每个可能值做这个。
答案 1 :(得分:1)
任何需要计数/记忆的语言都不能表达为正则表达式。
例如,检查平衡括号的语言:
S -> { S } S
S -> ε