吉林大学《编译原理课程设计》满分实验报告
- 格式:doc
- 大小:654.00 KB
- 文档页数:11
2016级《编译原理课程设计》总结报告(组)
_2019_年_5_月_25_日
第四部分语法分析
语法分析是编译程序的第二阶段,也是编译程序的核心部分。
务是,根据语言的语法规则,对源程序进行语法检查,
按照SNL编译程序的模型,语法分析的输入时从词法分析器输出的源程序的TOKEN序列形式,然后根据语言的文法规则进行分析处理,语法分析的输出是无语法错误的语法成分,表示成语法树的形式。
语言是具有独立意义的单词根据一定的语法规则组成的句子的集合,
结构由语法规则给出,句子的含义由语义规则给出,
语言的句子结构的分析。归于程序设计语言而言,
语言定义的是符合其语法规则的程序的集合,
键是识别程序(句子)的语法结构。
完成语法分析任务的程序成为语法分析程序,也称为语法分析器或简称分析器。
编译器的语法分析采用自顶向下的语法分析
LL(1)语法分析
LL(1)语法分析方法是一种自顶向下的语法分析方法,它是
的特例,其中k表示向前看k个符号的意思。
自底向上语法分析
LR(0)分析方法实现过程
结构如下
LR(0) --->LR0Item//在每个产生式的右部适当位置添加一个点构成项目--->LR0Item(Rule r)//以文法规则初始化构造
--->getDotPointer()//返回点的位置
--->goTo()//判断能否移动
第五部分程序测试
正确情况:(1)词法分析:
(3)LR(0)语法分析:(4)LALR(1)语法分析
(2)LL(1)语法分析:
(4)LALR(1)语法分析
2016级《编译原理课程设计》总结报告
11