解析分为两类,即自上而下的解析和自下而上的解析。自上而下的解析基于最左派生,而自下而上的解析则取决于反向最右派生。
从根开始到叶子的解析树的构建过程是Top-Down解析。
- 语法自上而下的自上而下解析器构造没有歧义和左递归。
- 自上而下的解析器使用最左端的派生来构造解析树。
- 它允许没有左因子分解的语法。
自上而下解析的分类–
- 回溯:蛮力技术
- 没有回溯: 1.递归下降解析
2.预测解析或非递归解析或LL(1)解析或表驱动程序解析
蛮力技术或递归下降解析–
- 每当非终端支出第一次时,就选择第一个,并与给定的I / P字符串进行比较
- 如果没有发生匹配,则选择第二种方法,并与给定的I / P字符串进行比较。
- 如果再次找不到匹配项,则选择替代项,依此类推。
- 此外,如果至少发生了一种匹配,那么将成功解析I / P字符串。
LL(1)或表驱动程序或预测解析器–
- 在LL1中,第一个L代表从左到右,第二个L代表最左导数。 1代表解析器在分析句子时使用的“向前看”令牌的数量。
- LL(1)解析是从没有左递归,通用前缀和歧义的语法构建的。
- LL(1)解析器依靠1个前瞻符号来预测扩展解析树的产生。
- 该解析器是非递归的。