二义性文法的处理 — 计算机选择题
题目
考虑文法 G:E → E + E | E * E | (E) | id。该文法是二义性文法。若要消除其二义性且保持原语言中 + 优先级低于 *、同优先级左结合不变,最直接的做法是:A. 删除产生式 E → E + E,仅保留 E → E * E B. 引入两层非终结符,如 E → E + T | T,T → T * F | F,F → (E) | id C. 在文法中增加产生式 E → E,使其可推出自身 D. 将终结符 id 改名为 num