编译器 上下文无关语法(content free grammar) 多义性 解决方案 1 Recursive Descent 从左边的约束条件中选取规则,进行递归下降分解 优点是好写,缺点是有时候陷入局部满足,导致整体不能解析,比如int t = 5 + 3,解析了int t = 5 ,剩下+3,导致错误(因为解析的时候,采取规则的顺序导致) 前面几条规则就放回true了。 (Left Recursion) RD在处理左递归的时候会出现问题,可以转换为右递归 2 Predictive Parsing