编译原理-LR语法分析器的控制程序实验报告.pdf
《编译原理-LR语法分析器的控制程序实验报告.pdf》由会员分享,可在线阅读,更多相关《编译原理-LR语法分析器的控制程序实验报告.pdf(3页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、.编译原理 实验报告 学 号 姓 名 时 间 专 业 班 级 实验题目:LR 语法分析器的控制程序 实验目的:手工模拟控制程序计算,对源程序进行 LR 语法分析 主要是分析表的构造 实验内容与步骤:1.将要进行 LR 语法分析的源程序和 LR 语法分析器控制程序放在同一文件夹中。2.用 C 语言编写 LR 语法分析器控制程序,程序代码如下:#include#include#include#include struct code_val char code;char val20;const char*p=/产生式 SE,EE+T,ET,TT*F,TF,F(E),Fi ;const char TN
2、T=+*()i#ETF;/LR 分析表列的字符 const int M9=/LR 分析表数字化,列字符+*()i#ETF 用数字 012345678 标识。0,0,4,0,5,0,1,2,3,/0 表示出错,s4 用 4 表示。6,0,0,0,0,99,/Acc 用 99 表示 -2,7,0,-2,0,-2,/r2 用-2 表示 -4,-4,0,-4,0,-4,0,0,4,0,5,0,8,2,3,-6,-6,0,-6,0,-6,0,0,4,0,5,0,0,9,3,0,0,4,0,5,0,0,0,10,6,0,0,11,-1,7,0,-1,0,-1,-3,-3,0,-3,0,-3,-5,-5,0
3、,-5,0,-5;.int col(char);/列定位函数原型 void main()int state50=0;/状态栈初值 char symbol50=#;/符号栈初值 int top=0;/栈顶指针初值 ofstream cout(par_r.txt);/语法分析结果输出至文件 par_r.txt ifstream cin(lex_r.txt);/lex_r.txt 存放词法分析结果,语法分析器从该文件输入数据。struct code_val t;/结构变量,存放单词二元式。cint.codet.val;/读一单词 int action;int i,j=0;/输出时使用的计数器,并非必
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 原理 LR 语法 分析器 控制程序 实验 报告
限制150内