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