广工编译原理实验报告

广工编译原理实验报告

ID:35224036

大小:591.00 KB

页数:17页

时间:2019-03-22

广工编译原理实验报告_第1页
广工编译原理实验报告_第2页
广工编译原理实验报告_第3页
广工编译原理实验报告_第4页
广工编译原理实验报告_第5页
资源描述:

《广工编译原理实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、<<编译原理>>课内实验报告项目名称PL/0编译器学院____计算机学院_______专业__年级班别________学号_学生姓名__________辅导教师_______成绩______________17目录一、课内实验的内容------------------------------------------4二、实验修改部分--------------------------------------------4三、概述-------------------------------------------------1

2、1四、结构设计说明-------------------------------------------11五、各功能模块描述-----------------------------------------14六、主要成份描述------------------------------------------14七、测试用例----------------------------------------------16八、开发过程和完成情况--------------------------------------21一、课

3、内实验的内容对PL/0作以下修改扩充:(1)增加单词:保留字ELSE,FOR,STEP,RETURN运算符+=,-=,++,--,&,

4、,~(2)修改单词:不等号#改为<>(3)增加条件语句的ELSE子句二、实验修改部分:1、增加四个保留字和七个运算符,共十一个单词。修改部分:#definesymnum43//保留字从32增加到43个2、增加五个保留字:ELSE,FOR,STEP,RETURN头文件pl0.henumsymbol{新增加单词:elsesym,forsym,stepsym,returnsym,pluseq/*+=

5、*/,plusone/*++*/,plus/*+*/,minuseq/*-=*/,minusone/*--*/,minus/*-*/,and,or,not}头文件pl0.h#definenorw24//关键字从13增加到24个PL0.cppinit();新增加:(增加后数组的内容要再次根据字母顺序重新排列)strcpy(&(word[0][0]),"begin");strcpy(&(word[1][0]),"call");strcpy(&(word[2][0]),"const");strcpy(&(word[3][0]),"d

6、o");strcpy(&(word[4][0]),"else");/*增加单词:保留字else*/strcpy(&(word[5][0]),"end");strcpy(&(word[6][0]),"for");/*增加单词:保留字for*/strcpy(&(word[7][0]),"if");strcpy(&(word[8][0]),"odd");17strcpy(&(word[9][0]),"procedure");strcpy(&(word[10][0]),"read");strcpy(&(word[11][0]),"re

7、turn");/*增加单词:保留字return*/strcpy(&(word[12][0]),"step");/*增加单词:保留字step*/strcpy(&(word[13][0]),"then");strcpy(&(word[14][0]),"while");strcpy(&(word[15][0]),"write");wsym[0]=beginsym;wsym[1]=callsym;wsym[2]=constsym;wsym[3]=dosym;wsym[4]=elsesym;/*else*/wsym[5]=endsym;

8、wsym[6]=forsym;/*for*/wsym[7]=ifsym;wsym[8]=oddsym;wsym[9]=procsym;wsym[10]=readsym;wsym[11]=returnsym;/*return*/wsym[12]=stepsym;/*step*/wsym[13]=thensym;wsym[14]=whilesym;wsym[15]=writesym;3、增加四个运算符:+=,-=,++,--,∧,∨,┓lPL0.cppgetsym();增加对+,-,++,--,+=,-=的识别;Statement

9、();增加对+,-,++,--,-=的语句的处理;Init()中改动:ssym[‘&’]=and;ssym[‘

10、’]=or;ssym[‘~’]=not;facbegsys[plusone]=true;//添加前自加运算facbegsys[minusone]=true;//添加

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。