语法分析编译原理实验报告_昆明理工大学.doc
《语法分析编译原理实验报告_昆明理工大学.doc》由会员分享,可在线阅读,更多相关《语法分析编译原理实验报告_昆明理工大学.doc(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、昆明理工大学信息工程与自动化学院学生实验报告( 2012 2013学年 第上学期 )课程名称:编译原理 开课实验室: 444 2012年 11 月 23 日专业、班级计科101班学号姓名成绩实验项目名称语法分析指导教师严馨教师评语该同学是否了解实验原理:A.了解B.基本了解C.不了解该同学的实验能力:A.强 B.中等 C.差 该同学的实验是否达到要求:A.达到B.基本达到C.未达到实验报告是否规范:A.规范B.基本规范C.不规范实验过程是否详细记录:A.详细B.一般 C.没有 教师签名: 年 月 日一、实验目的 编制一个递归下降分析程序,实现对词法分析程序所提供的单词序列的语法检查和结构分析。
2、二、 实验要求利用C语言编制递归下降分析程序,并对简单语言进行语法分析。2.1 待分析的简单语言的语法用扩充的BNF表示如下:main() ; ; |ID=if(条件)while() +|- * |/ ID|NUM| () |=|=|!=2.2 实验要求说明输入单词串,以“#”结束,如果是文法正确的句子,则输出成功信息,打印“success”,否则输出“error”。三、 语法分析程序的C语言程序源代码#include#includechar prog80,token8;char ch;int syn,p,m=0,n,sum,kk=0;char *rwtab6=function,if,then
3、,while,do,endfunc;void yucu();void expression();void statement();void factor();void term();void irparser();void scaner()for (n=0;n8;n+)tokenn=NULL;while(ch= | ch=n)ch=progp+;m=0;if(ch=a) | (ch=A)while(ch=a) | (ch=A) | (ch=0)tokenm+=ch;ch=progp+;syn=10;for(n=0;n6;n+)if(strcmp(token,rwtabn)=0)syn=n+1;
4、break;tokenm+=0;elseif(ch=0)sum=0;while(ch=0)sum=sum*10+ch-0;ch=progp+;syn=11;elseswitch(ch)case:m=0;tokenm+=ch;ch=progp+;if(ch=)syn=24;tokenm+=ch;elsesyn=23;p-;break;case= :m= 0;tokenm + =ch;ch=progp+;if(ch=) syn= 25;tokenm+= ch;elsesyn=18;ch=prog-p;break;case!:m=0; tokenm+= ch;ch=prog+p;if(ch=) sy
5、n=22;tokenm+= ch;else syn=-1;break;case+:syn=13; token0=ch;break;case-:syn=14; token0=ch;break;case*:syn=15; token0=ch;break;case/:syn=16; token0=ch;break;case;:syn=26; token0=ch;break;case(:syn=27; token0=ch;break;case):syn=28; token0=ch;break;case#:syn=0; token0=ch;break;default:syn=-1;/break;ch=p
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语法分析 编译 原理 实验 报告 昆明 理工大学
限制150内