编译原理实验报告(词法分析解析器-语法分析解析器).docx
《编译原理实验报告(词法分析解析器-语法分析解析器).docx》由会员分享,可在线阅读,更多相关《编译原理实验报告(词法分析解析器-语法分析解析器).docx(11页珍藏版)》请在优知文库上搜索。
1、编译原理实验报告实验一一、实验名称:词法分析器的设计二、实验目的:1,词法分析器能够识别简单语言的单词符号2,识别出并输出简单语言的根本字.标示符.无符号整数.运算符.和界符。三、实验要求:给出一个简单语言单词符号的种别编码词法分析器四、实验原理:1、词法分析程序的算法思想算法的根本任务是从字符串表示的源程序中识别出具有独立意义的单词符号,其根本思想是根据扫描到单词符号的第一个字符的种类,拼出相应的单词符号。2、程序流程图(1)主程序错误!未指定文件名。错误!未指定文件名。(2)扫描子程序3、各种单词符号对应的种别码单词符号种别码助记符内码值while1while-Iif2if一else3el
2、se卜Iswitch4switch-case5case一标识符6idid在符号表中的位置常数7numnum在常数表中的位置8一9E=I-I*10*-=11relopLE11relopLT:=11relopEQ二12=一13-五、实验内容:1、实验分析编写程序时,先定义几个全局变量a、token(均为字符串数组),c,s(char型),i,j,k(int型),a用来存放输入的字符串,token另一个那么用来帮助识别单词符号,S用来表示正在分析的字符。字符串输入之后,逐个分析输入字符,判断其是否,假设是表示字符串输入分析完毕,结束分析程序,假设否那么通过intdigit(charc)、intlet
3、ter(charC)判断其是数字,字符还是算术符,分别为用以判断数字或字符的情况,算术符的判断可以在SWitCh语句中进行,还要通过函数intlookup(chartoken)来判断标识符和保存字。2实验词法分析器源程序:#include#includettincludeinti,j,k;charc,s,a20,token20=,0,);intletter(chars)(if(s=97)&(s=48)&(s=57)return(1);elsereturn(0);)voidget()s=ai;i=i+l;)voidretract()i=i-l;)intlookup(chartoken20)if(
4、strcmp(token,“while)=0)return(1);elseif(strcmp(token,zifz,)=0)return(2);elseif(strcmp(token,z,else,)=0)return(3);elseif(strcmp(token,“switch)=0)return(4);elseif(strcmp(token,case)=。)return(5);elsereturn(0);voidmain()(printf(zzpleaseinputstring:n);i=0;doi=i+l;scanf(*%c*,&ai);)while(ai!=#);i=l;j=0;get
5、();While(s!=#)memset(token,0,20);switch(s)casea:caseb,:casec,:cased,:casee,:casef,:caseg,:caseh,:casei*:casej,:casek,:case11:casem,:casen,:caseo,:casep:caseq,:caser:cases,:caset,:caseu:case,v,:casew,:casecasey,:casez:while(letter(s)digit(s)tokenj=s;j=j+l;get();)retract();k=lookup(token);if(k=O)print
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 原理 实验 报告 词法 分析 解析 语法分析