📜  歧义

📅  最后修改于: 2020-12-06 06:42:10             🧑  作者: Mango

歧义性

如果对于给定的输入字符串,存在不止一个最左导数,不止一个最右导数或不止一个解析树,那么语法就是模棱两可的。如果语法不是模棱两可的,那么就将其称为模棱两可。

例:

S = aSb | SS
S = ∈

对于字符串aabb,以上语法生成两个解析树:


如果语法有歧义,则对编译器构造不利。没有任何方法可以自动检测并消除歧义,但是您可以通过重写整个语法而不会歧义来消除歧义。