准备名词:
二义性:同一个记号串,能被多种分析树生成,这样的文法叫做二义性的文法。
超前扫描符号(lookahead):输入中当前被扫描的符号,就是输入串最左边第一个符号,当完成这个符号扫描之后,串的下一个称为lookahead。
非终结符:就是输入串可以继续拆分的符号。
终结符:输入串里面不能再拆分的符号。
预测分析法(一种递归下降分析法):是一种自顶向下的语法分析方法,使用超前扫描符号无二义地确定每个非终结符选择的过程,可以无二义处理非终结符。(从上往下,从左往右解析)
ε产生式:是一个空串的产生式。
左递归-右递归:
如果有一个这样产生式:
那么就会无限地左递归,假如使用预测分析法,没办法确认超前扫描符号的位置,所以需要改成右递归才能确认超前扫描符号。