由定义6.2和6.3很容易证明前面我们给的表达式文法。
E→E+E|E*E|(E)|i 不是算符优先文法。
因为对算符 +、* 来说,由 E→E+E 和 E 
E*E 可有 + *
,这由语法子树图6.4(a)也可看出。又可由E→E*E 和 E  E+E
得 + *,由语法子树表示为图6.4(b)。
图 6.4 二义性文法的语法树
|
 |
这样+、* 的优先关系不唯一,所以该表达式的文法仅是算符文法而不是算符优先文法。这里必须再次强调,两个终结符之间的优先关系是有序的,允许有
a b,b a同时存在
,而不允许有 a b,a b,a b
三种情况中之两种同时存在。 |