语法分析器实验报告
——算符优先分析算法
04 级计算机(3)班 040693 邱婷
一、 实验任务
1、 根据算符优先分析算法,编写一个语法分析程序,输入已知文法,由程序自动生成该
文法的算法优先关系矩阵。
2、 程序具有通用性,即所编制的语法分析程序能够适用于不同文法以及各种输入单词串,
并能判断该文法是否为算符文法和算符优先文法
3、 对输入的一个文法和一个单词串,程序能正确判断此单词串是否为该文法的句子,并
要求输出分析过程
二、 实验说明
1、 语法分析是编译过程的核心。
1) 它的任务是在词法分析识别出单词符号串的基础上,分析并判断程序的语法结
构是否符合语法的规则。
2) 语法结构是用上下无关文法描述的
3) 语法分析器的工作是按文法的产生式,识别输入符号串是否为一个句子。即建
立一棵与输入串相匹配的语法分析树。
2、 算符优先分析法是一种简单直观的自下而上分析法,但并不是规范规约。
1) 基本思想:
规定终结符 (算符) 的优先关系; 按终结符(算符)的优先关系控制自下而
上语法分析过程(即寻找“可归约串”和进行归约)
2) 优先关系的定义
对于不含ε-产生式的算符文法,任意终结符 a,b
a ≐ b�G 有产生式 P→…ab…或 P→…aQb…
a ⋖ b�G 有产生式 P→…aR…且 R�+b…或 R�+ Qb…
a ⋗ b�G 有产生式 P→…Rb…且 R�+…a 或 R�+…aQ
三、 实验设计:
1、总体设计
评论0