前排提示——本文只提供思路和代码运行效果
具体的可运行代码移步这里进行下载(免费的):【编译原理实验】Java实现完整自顶向下语法分析——First、Follow、Select、判断LL(1)、提取公因子、消除左递归、自顶向下分析输入串
下载的Java代码是直接可运行的,且在注释中包含了10个以上的测试用例
完整的自顶向下语法分析过程
- 求emptyOK和emptyNO
- 求First集
- 求Follow集
- 求Select集
- 判断是否为LL(1)文法
- 提取公因式(尝试转化为LL1文法)
- 消除左递归(尝试转化为LL1文法)
- 生成预测分析表
- 表驱动的LL(1)分析程序