华北水利水电学院 编译原理 实验报告
—、实验题目:语法分析(算符优先分析程序)
TOC \o 1-5 \h \z (1) 选择最有代表性的语法分析方法算符优先法 ;
(2) 选择对各种常见程序语言都用的语法结构 ,如赋值语句(尤指表达式)作为分析对象,
并且与所选语法分析方法要比较贴切 。
二、 实验内容
(1) 根据给定文法,先求出FirstVt和LastVt集合,构造算符优先关系表 (要求算符优先关系
表输出到屏幕或者输出到文件 );
(2) 根据算法和优先关系表分析给定表达式是否是该文法识别的正确的算术表达式 (要求输 出归约过程)
(3) 给定表达式文法为:
G(E E -##E#
E+T | T
—T*F |F
F~(E)|i
(4)分析的句子为:
(i+i)*i 和 i+i)*i
三、 程序源代
#in cludestdlib.h
#i ncludestdio.h
#in cludestri ng.h
#in cludeiostream.h
#defi ne SIZE 128
char in put[SIZE];
II存放输入的要进行分析的句子
char remai n[ SIZE];
II存放剩余串
char AnalyseStack[SIZE]; II 分析栈 void an alyse();
int testchar(char x);
II判断字符X在算符优先
原创力文档

文档评论(0)