编译原理实验报告
——表达式语法分析
表达式语法分析实验报告
一、实验题目
设计一个简单的表达式语法分析器
(采用递归下降方法设计实现)
二、实验目的
1、 了解形式语言基础及其文法运算;
2、 熟悉语法分析原理及4种常用的语法分析方法;
其中: 四种算法为
(1)设计算术表达式的递归下降子程序分析算法 (2)设计算术表达式的LL(1) 分析算法 (3)设计算术表达式的简单优先分析算法 (4)设计算术表达式的SLR(1) 分析算法
3、选择上述一种方法并设计一个表达式的语法分析器。
(本实验设计的是递归下降的表达式语法分析器)
三、实验内容
1.设计递归下降语法分析器算法; 2.编写代码并上机调试运行通过; 3、写出试验体会及心得。
四、实验要求
1、 给出算术表达式文法 2、 进行适当的文法变换
3、 选择一种语法分析的方法,并说明其原理
4、 根据原理给出相应的算法设计,说明主要的数据结构并画出算法流程图
5、 编写代码并上机调试运行通过 6、 写出程序运行结果
7、 写出相应的文档以及代码注释
8、输入——表达式;
输出——表达式语法是否正确。
五、递归下降的表达式语法分析器设计概要
1.算术表达式文法
G(E): E ? E +T | T
T ? T* F | F F ? i | (E)
2.文法变换:
G’(E): E->TE'
E'->+TE'|ε T->FT' T'->*FT'|ε F->(E)|I
3. 递归下降子程序框图: