吉林大学《编译原理课程设计》满分实验报告

  • 格式:doc
  • 大小:654.00 KB
  • 文档页数:11

下载文档原格式

  / 11
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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