请考虑下面的表达式语法。表达式计算的语义规则在每个语法产品旁边都有说明。
null
E → number E.val = number. val | E '+' E E(1).val = E(2).val + E(3).val | E '×' E E(1).val = E(2).val × E(3).val
假设这个问题(a)部分中的冲突已经解决,并且根据给定的语法生成了一个用于解析算术表达式的LALR(1)解析器。考虑一个表达式3×2+1。生成的解析器实现了哪些优先级和关联性属性? (A) 等优先级和左结合性;表达评估为7 (B) 平等优先权和权利结合性;表达评估为9 (C) “×”的优先级高于“+”,并且两个运算符都是左关联的;7到表达式 (D) “+”的优先级高于“×”,并且两个运算符都是左关联的;表达式计算为9 答复: (B) 说明: 答案是B,因为产生式属于同一个非终端,并且由于YACC通过移位转换为减少来解析,所以关联性将是右关联的。 这个问题的小测验
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END