给出以下语法:

$$ begin{align} S rightarrow &A1B A rightarrow & 0A mid varepsilon B rightarrow & 0B mid 1B mid varepsilon end{align} $$

我如何表明这种语法是明确的?我需要找到一种模棱两可的语言的语法,并证明它。

我知道我是否被要求证明该语言是模棱两可的,那么我应该为同一字符串找到两种不同的解析树,但我不知道该怎么办。

有帮助吗?

解决方案

要显示语法是明确的,您必须争辩说,对于语言中的每个字符串,只有一个衍生树。

在这种特殊情况下,您可以观察到$ a $仅生成$ 0 $的s,因此启动符号$ s $生成的$ 1 $必须是字符串中的第一个$ 1 $。

任何语法都可以通过将$ s 等链条制作添加到s $中来模棱两可。

其他提示

该语法等效于$$ begin {align} s rightArrow&0a1b mid 1b a rightarrow&rightarrow&0a mid mid varepsilon b b rightArrow&rightArrow&rightArrow&0b mid 1b mid 1b mid mid varepsilon varepsilon endign } $$等等 喜欢 一种简单的语法,我们可以证明这种语法不明确。当然,这种语法并不简单。

许可以下: CC-BY-SA归因
不隶属于 cs.stackexchange
scroll top