考虑以下语法:
S ? A | B
A ? xy
B ? xyz
Run Code Online (Sandbox Code Playgroud)
这是我认为LR(0)解析器在给定输入时会做的事情xyz:
| xyz ? shift
x | yz ? shift
xy | z ? reduce
A | z ? shift
Az | ? fail
Run Code Online (Sandbox Code Playgroud)
如果我的假设是正确的,我们将规则B改为:
B ? Az
Run Code Online (Sandbox Code Playgroud)
现在语法突然被LR(0)解析器接受了.我认为这个新语法描述了与本问题中第一个语法完全相同的字符串集.
进一步澄清:
我想向解析器描述一种语言,而语法结构不起作用.我想获得一组字符串的最小/基本描述.对于LR(k)语法,我想最小化k.
在正式语言的乔姆斯基分类中,我需要一些Non-Linear, Unambiguous and also Non-Deterministic上下文无关语言(N-CFL)的例子吗?
线性语言:对于哪些线性文法是可能的(?CFG)例如
L 1 = {a n b n | ? 0 }
确定性上下文无关语言(D-CFG):对于哪些确定性下推自动机(D-PDA)是可能的,例如
L 2 = {a n b n c m | ? 0,米?0 }
L 2是明确的。
-- 3.
Non-Deterministic Context Free Language(N-CFG) : 对于哪个only Non-Deterministic Push-Down-Automata(N-PDA)是可能的,例如
L 3 = {ww R | ? {a, …
automata finite-automata computation-theory formal-languages chomsky-hierarchy