编译原理试验报告三语义分析程序

上传人:tia****nde 文档编号:36881407 上传时间:2018-04-03 格式:DOC 页数:6 大小:122.50KB
返回 下载 相关 举报
编译原理试验报告三语义分析程序_第1页
第1页 / 共6页
编译原理试验报告三语义分析程序_第2页
第2页 / 共6页
编译原理试验报告三语义分析程序_第3页
第3页 / 共6页
编译原理试验报告三语义分析程序_第4页
第4页 / 共6页
编译原理试验报告三语义分析程序_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《编译原理试验报告三语义分析程序》由会员分享,可在线阅读,更多相关《编译原理试验报告三语义分析程序(6页珍藏版)》请在金锄头文库上搜索。

1、编译原理实验报告编译原理实验报告实验名称: 编写语义分析程序 实验类型: 设计型实验 指导教师: 专业班级: 姓名: 学号: 电子邮件: 实验地点: 实验成绩: 日期:201 年 5 月 26 日一、一、 实验目的实验目的通过设计、调试语义分析程序,实现在词法分析和语法分析的基础上加上一些逻辑 的东西。通过加入并查找符号表来判断程序语句是否合理,熟悉并掌握常用的语法 分析方法。 明确语义分析器的功能,在语法分析的基础上进一步分析程序; 加深对课堂教学的理解; 提高语义分析方法的实践能力; 通过本实验,应达到以下目标: 1、掌握符号表的结构,创建,查找。 3、上机调试编出的语义分析程序。二、二、

2、 实验过程实验过程通过了解本程序的意图,发现不必画出流程图。因为该次实验就是在实验二的基础 上加入符号表的内容,然后写入,printf出。在分析的时候看一下是否重复声明, 是否声明过,符号表是否溢出,写入符号表,最后将它printf出来。三、实验结果三、实验结果语义分析实验成功。Txt文档内容和实验二一样。在a2.txt里的内容:四、讨论与分析四、讨论与分析这个程序是在实验二的基础上写的,理解了实验二,这个写起来相对容易很多,只 是加一些内容进去就好,很快写完了。 五、附录:关键代码(给出适当注释,可读性高)五、附录:关键代码(给出适当注释,可读性高)全部代码附vc+,这里主要附符号表的内容,

3、即在实验二的基础上加入的。int name_def(char *name);#define maxvartablep 500 /定义符号表的容量/符号表结构体 struct char name8; int address; vartablemaxvartablep;int vartablep=0,lablep=0,datap=0;/插入符号表动作 int name_def(char *name) int i,es=0; if(vartablep=maxvartablep) return(21); /符号表溢出 for(i=vartablep-1;i=0;i-) if(strcmp(vartab

4、lei.name,name)=0) /判断重复 es=22; break; if(es0) return(es); strcpy(vartablevartablep.name,name); /插入 vartablevartablep.address=datap; /地址 datap+; vartablep+; return(es); /查询符号表返回地址 int lookup(char *name, int *paddress) int i,es=0; for(i=0;ivartablep;i+) if(strcmp(vartablei.name,name)=0) /找到 *paddress=vartablei.address; return(es); es=23; /变量没有声明 return(es); 六、实验者自评六、实验者自评这个实验写得比较快,理解起来也较容易,加厚符号表后,只是多了三个判断内容, 判断符号表是否溢出,变量重复定义,变量未声明。然后再每个语句后面写入,再 printf出,不是很费脑子。 发现只要之前下好功夫,后面再接着来就会比较轻松。所以在实际中我们要一步一 步走踏实,扎实把基础打好,再往上加内容,就方便很多。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号