问题描述
我在阅读 https://www.cs.odu.edu/~zeil/cs390/f16/Public/cfg/index.html 时遇到了这个示例语法:
Expr -> Expr + Term
Expr -> Expr - Term
Expr -> Term
Term -> Term * Factor
Term -> Term/Factor
Factor -> (Expr)
Factor -> id
使用此语法,为字符串“a - b - c”给出以下解析树:
我的问题是,如何从 Term 非终结符生成 Factor 非终结符?我不明白这是如何在语法中完成的。对我来说,语法似乎需要一个额外的产生式规则,比如 Term -> Factor。
解决方法
完全正确。语法缺少产生式 Term ⇒ Factor
,如解析树中所示。