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

上传人:da****ge 文档编号:55311483 上传时间:2022-02-17 格式:DOC 页数:14 大小:88.50KB
收藏 版权申诉 举报 下载
编译原理 词法分析 实验报告_第1页
第1页 / 共14页
编译原理 词法分析 实验报告_第2页
第2页 / 共14页
编译原理 词法分析 实验报告_第3页
第3页 / 共14页
资源描述:

《编译原理 词法分析 实验报告》由会员分享,可在线阅读,更多相关《编译原理 词法分析 实验报告(14页珍藏版)》请在装配图网上搜索。

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

2、C+语言的相关内容,加深了对C+语言的用途的理解。学生签名:李迪 2011 年 10 月 20 日成绩评定及教师评语:成绩: 教师签名: 年 月 日注:硬件类实验报告请按附录1的格式填写;软件类实验报告请按附录2的格式填写。填写时应去掉红色的提示语。软件类实验报告一、 实验内容词法分析二、 实验目的及要求实验目的设计、编制并调式一个词法分析程序,加深对词法分析原理的理解。实验要求: 各种单词符号及对应的种别码:单词符号种别码单词符号种别码begin1:17if2:=18then320while421do523letter(letter|digit)*10=24digit digit*11=25

3、+13;26-14(27*15)28/16#0三、 实验环境C语言环境四、 算法描述 词法分析主程序示意图:置初值调用扫描子程序输入串结束?输出单词二元组是否结束 词法分析程序流程图: 开始变量初始化是否文件结束?返回拼数Syn=11返回拼字符串是否是关键字?Syn为对应关键字的单词种别码Syn=10给不同的符号相同的 Syn 值报错是否数字字母是否、运算符,界符等其他 五、 源程序清单#includestdio.h#includestdlib.h#includestring.h#define _KEY_WORD_END waiting for your expandingtypedef st

4、ructint typenum;char * word;WORD;char input255;char token255=;int p_input;int p_token;char ch;char * rwtab=begin,if,then,while,do,end,_KEY_WORD_END;WORD * scaner();void main()int over=1;WORD* oneword=new WORD;printf( 输入源程序 (以#结束):);scanf(%#s,input);p_input=0;printf(Your words:n%sn,input);while(overt

5、ypenumtypenum,oneword-word);over=oneword-typenum;printf(npress # to exit:);scanf(%#s,input);char m_getch()ch=inputp_input;p_input=p_input+1;return(ch);void getbc()while(ch= |ch=10)ch=inputp_input;p_input=p_input+1;void concat()tokenp_token=ch;p_token=p_token+1;tokenp_token=0;int letter()if(ch=a&ch=A

6、&ch=0&chtypenum=10;myword-word= ;p_token=0;m_getch();getbc();if(letter()while(letter()|digit()concat();m_getch();retract();myword-typenum=reserve(); myword-word=token;return(myword);else if(digit()while(digit()concat();m_getch();retract();myword-typenum=20;myword-word=token;return(myword);else switc

7、h(ch)case=: m_getch(); if(ch=) myword-typenum=39; myword-word=; return(myword); retract(); myword-typenum=21; myword-word=; return(myword); break; case+: myword-typenum=22; myword-word=+; return(myword); break; case-: myword-typenum=23; myword-word=-; return(myword); break; case*: myword-typenum=24;

8、 myword-word=*; return(myword); break; case/: myword-typenum=25; myword-word=/; return(myword); break;case(: myword-typenum=26; myword-word=(; return(myword); break;case): myword-typenum=27; myword-word=); return(myword); break;case: myword-typenum=28; myword-word=; return(myword); break;case: mywor

9、d-typenum=29; myword-word=; return(myword); break;case: myword-typenum=30; myword-word=; return(myword); break;case: myword-typenum=31; myword-word=; return(myword); break;case,: myword-typenum=32; myword-word=,; return(myword); break;case: myword-typenum=33; myword-word=:; return(myword); break;cas

10、e;: myword-typenum=34; myword-word=; return(myword); break;case: m_getch(); if(ch=) myword-typenum=37; myword-word=; return(myword); retract(); myword-typenum=35; myword-word=; return(myword); break; casetypenum=38; myword-word=typenum=36; myword-word=typenum=40; myword-word=!=; return(myword); retract(); myword-typenum=-1; myword-word=ERROR; return(myword); break;case0: myword-typenum=1000; myword-word=OVER; return(myword); break;default: myword-typenum=-1; myword-word=ERROR; return(myword); 六、 运行结果及分析运行结果: 通过此次实验,让我了解到如何设计、编制并调试词法分析程序,加深对词法分析原理的理解;熟悉了构造词法分析程序的手工方式的相关原理。14

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!