[源码和文档分享]基于LL1文法的语法分析
一、目标
本次实验的目的是对编译器进行词法分析的过程进行模拟,我选择了在实际中更为通用的自底向上的词法分析器的分析过程,最终产生规约序列。对于LR(0)和LR(1)问题,我的程序对于LR(0)和LR(1)是通用的,因为只要给出合法的parsing table和上下文无关文法, 程序就能进行相应的词法分析,而parsing table和文法都是用户输入文件给出。
二、内容概述
本文档描述了编译原理课程实验中,语法分析器部分的实验内容,实验方案以及结果。
三、实验环境
- 操作系统:win8.1
- 编译器:eclipse
- 使用的工具:github
- 编码格式:utf-8
四、思路和核心思想
根据给出的文法,文法要求是非二义性的、非左递归的上下文无关文法,输入到product的文件中。从文件中读出输入的文法,先通过对输入的文法求每一个产生式中的非终结符的first和follow集合。来构建LL(1)的预测分析表。然后使用预测分析表来进行表格驱动,对于输入的串进行预测分析,使用书上的算法,现在在此处附上这算法,因为比较难打字,我附图:
参考文档和完整的文档和源码下载地址: