- 8
- 0
- 约3.62万字
- 约 34页
- 2018-05-30 发布于福建
- 举报
语法分析器设计毕业设计(论文)word格式
语法分析器的设计
要求:
建立一个针对LL(1)文法编译器的自动生成器。要完成此编译器的生成器需对源文件进行两遍处理:第一遍词法分析,第二遍语法分析。语法分析程序用LL(1)语法分析方法。首先输入定义好的文法书写文件(所用的文法可以用LL(1)分析),然后建立词法分析器,包括词法分析主程序、扫描器部分、关键字表等。经词法分析后分别计算所输入的文法的每个非终结符号的FIRST集合,每个非终结符号的FOLLOW集合,以及每个规则的SELECT集合,并判断任意一个非终结符号的任意两个规则的SELECT集的交集是不是都为空,如果是则输入文法符合LL(1)文法则可以进行分析。
语法分析器实现
语法分析是编译过程的核心部分,它的主要任务是按照程序的语法规则,从由词法分析输出的源程序符号串中识别出各类语法成分,同时进行词法检查,为语义分析和代码生成作准备。这里采用自顶向下的LL(1)分析方法。
语法分析程序的流程图如图5-4所示。
1.计算FIRST集
对于文法G的任意一个符号串?=X1X2…Xn可按下列步骤构造其FIRST(?)集合:
令FIRST(?)=(,i=1;
(1) 若 Xi(VT,则Xi(FIRST(?);
(2) 若Xi(VN:
①若(FIRST(Xi),则FIRST(Xi) (FIRST(?);
②若((FIRST(Xi),则FIRST(Xi)-{(} (FIRST(?);
i
原创力文档

文档评论(0)