编译原理 词法分析 实验报告

编译原理 词法分析 实验报告

ID:13091024

大小:88.50 KB

页数:14页

时间:2018-07-20

编译原理 词法分析 实验报告_第1页
编译原理 词法分析 实验报告_第2页
编译原理 词法分析 实验报告_第3页
编译原理 词法分析 实验报告_第4页
编译原理 词法分析 实验报告_第5页
资源描述:

《编译原理 词法分析 实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、计算机与信息工程学院实验报告计算机与信息工程学院实验报告姓名李迪学号20092103399专业计算机科学与技术班级09蒙班联系电话15247127279Emaillidilxl@163.com同组实验者实验室名称信息楼403实验日期2011-10-20课程名称编译原理实验序号实验一实验项目词法分析主讲教师王斯日古愣辅导教师王斯日古愣指导教师王斯日古愣实验心得:通过此次实验,让我了解到如何设计、编制并调试词法分析程序,加深对词法分析原理的理解;熟悉了构造词法分析程序的手工方式的相关原理,使用某种高级语言(例如C++语言)直接编写此

2、法分析程序。另外,也让我重新熟悉了C++语言的相关内容,加深了对C++语言的用途的理解。学生签名:李迪2011年10月20日成绩评定及教师评语:成绩:教师签名:年月日注:硬件类实验报告请按附录1的格式填写;软件类实验报告请按附录2的格式填写。填写时应去掉红色的提示语。·14·计算机与信息工程学院实验报告软件类实验报告一、实验内容词法分析二、实验目的及要求实验目的设计、编制并调式一个词法分析程序,加深对词法分析原理的理解。实验要求:各种单词符号及对应的种别码:单词符号种别码单词符号种别码begin1:17if2:=18then3<

3、20while4<>21do5<=22end6>23letter(letter

4、digit)*10>=24digitdigit*11=25+13;26-14(27*15)28/16#0三、实验环境C语言环境四、算法描述词法分析主程序示意图:·14·计算机与信息工程学院实验报告置初值调用扫描子程序输入串结束?输出单词二元组是否结束词法分析程序流程图:开始变量初始化是否文件结束?返回拼数Syn=11返回拼字符串是否是关键字?Syn为对应关键字的单词种别码Syn=10给不同的符号相同的Syn值报错是否数字字母是否、运算符,界符等其他·

5、14·计算机与信息工程学院实验报告一、源程序清单#include"stdio.h"#include"stdlib.h"#include"string.h"#define_KEY_WORD_END"waitingforyourexpanding"typedefstruct{inttypenum;char*word;}WORD;charinput[255];chartoken[255]="";intp_input;intp_token;charch;char*rwtab[]={"begin","if","then","while",

6、"do","end",_KEY_WORD_END};WORD*scaner();voidmain(){intover=1;WORD*oneword=newWORD;·14·计算机与信息工程学院实验报告printf("输入源程序(以#结束):");scanf("%[^#]s",input);p_input=0;printf("Yourwords:%s",input);while(over<1000&&over!=-1){oneword=scaner();if(oneword->typenum<1000)printf("(%

7、d,%s)",oneword->typenum,oneword->word);over=oneword->typenum;}printf("press#toexit:");scanf("%[^#]s",input);}charm_getch(){ch=input[p_input];p_input=p_input+1;return(ch);}voidgetbc(){while(ch==''

8、

9、ch==10){ch=input[p_input];·14·计算机与信息工程学院实验报告p_input=p_input+1;}}void

10、concat(){token[p_token]=ch;p_token=p_token+1;token[p_token]='';}intletter(){if(ch>='a'&&ch<='z'

11、

12、ch>='A'&&ch<='Z')return1;elsereturn0;}intdigit(){if(ch>='0'&&ch<='9')return1;elsereturn0;}intreserve(){·14·计算机与信息工程学院实验报告inti=0;while(strcmp(rwtab[i],_KEY_WORD_END)){if

13、(!strcmp(rwtab[i],token)){returni+1;}i=i+1;}return10;}voidretract(){p_input=p_input-1;}char*dtp(){returnNULL;}WORD*scaner(){WORD*my

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

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

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