如何消除文法的二义性

文法举例

显然,对于not p and q有两种推导方式

默认not优先级高于and,即(not p) and q 

 默认and优先级高于 not,即not(p and q) 

  1. 先and再not
  2. 先not再and   

两种消除二义性的方法 

简单来说,就是人为规定not\and\or的优先级即可  

重写的文法相当于默认1型推导方式

 

 

 

 

  1. 定义规则   
  2. 重写文法

 

阅读更多

没有更多推荐了,返回首页