




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
《编译原理》课程(词法分析)实验报告5则范文 第一篇:《编译原理》课程(词法分析)实验报告一.实验序号:《编译原理》第一次实验二.实验题目:词法分析三.实验日期:2010.10四.实验环境(操作系统,开发语言)操作系统:Windows开发语言:C五.实验内容(实验要求)a)将标识符的词法改为“以大写字母或小写字母开头,后面可以跟大写字母或小写字母或数字或下划线”。b)将中的表示相等关系的单词“=”改为“==”c)将原来的无小数的数改为可以有小数的数六.实验步骤a)打开VC++,找到getsym()项目。intgetsym(){...}在getsym()函数中设置断点,F10逐过程调试根据要求a修改为if(ch>='a'&&ch='A'&&ch往后面看,修改while(ch>='a'&&ch='0'&&ch='A'&&chb)在检测赋值符号的程序段中找到等号=的判断代码,改变成为==即可。c)在获取整数数字的值的程序段后面添加判断小数点的代码。如果是,即读取符号并且按照小数的要求将其缩小并且累加到总的符号串中。七.实验体会(包括收获、心得体会、存在的问题及解决问题的方法、建议等)通过实验,如果要修改代码的话,首先应该读懂源码,在修改之前了解到程序段的功能是什么,然后再在相应的行进行修改添加,再进行合理的调试。如果问题太过困难可以查询资料或与同学进行讨论八.实验结果(关键源程序)a)intgetsym(){inti,j,k;while(ch==''||ch==10||ch==9)/*忽略空格,换行和TAB*/{getchdo;}if(ch>='a'&&ch='A'&&chk=0;do{if(k{a[k]=ch;k++;}getchdo;}while(ch>='a'&&ch='0'&&ch='A'&&chif(ch>='0'&&chk=0;num=0;sym=number;do{//435num=10*num+ch-'0';k++;getchdo;}while(ch>='0'&&chif(ch=='.'){k++;sym=period;getchdo;sym=number;intp=10;do{num=num+(ch-'0')/p;k++;getchdo;p=p*10;}while(ch>='0'&&ch}b)else{if(ch=='>')//检测大于或大于等于符号{getchdo;if(ch=='=')//addbyM{sym=geq;//构成>=getchdo;}else{sym=gtr;//否则就是一个单独的>号}}else{if(ch=='='){getchdo;if(ch=='='){sym=deq;getchdo;}else{sym=eql;}}c)else{if(ch==’.’){k=10;getchdo;do{num=num+(ch-'0')/k;k=k*10;getchdo;}while(ch>='0'&&ch}第二篇:编译原理实验报告编译原理实验报告报告完成日期2018.5.30一.组内分工与贡献介绍二.系统功能概述;我们使用了自动生成系统来完成我们的实验内容。我们设计的系统在完成了实验基本要求的前提下,进行了一部分的扩展。增加了声明变量类型、类型赋值判定和声明的变量被引用时作用域的判断。从而使得我们的实验结果呈现的更加清晰和易懂。三.分系统报告;一、词法分析子系统词法的正规式:标识符(|)*十进制整数0|(1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)*八进制整数0(1|2|3|4|5|6|7)(0|1|2|3|4|5|6|7)*十六进制整数0x(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)*运算符和分隔符+|*|/|>|=|==;对于标识符和关键字:A5—〉B5C5B5—〉a|b|⋯⋯|y|zC5—〉(a|b|⋯⋯|y|z|0|1|2|3|4|5|6|7|8|9)C5|ε综上正规文法为:S—〉I1|I2|I3|A4|A5I1—〉0|A1A1—〉B1C1|εC1—〉E1D1|εD1—〉E1C1|εE1—〉0|1|2|3|4|5|6|7|8|9B1—〉1|2|3|4|5|6|7|8|9I2—〉0A2A2—〉0|B2B2—〉C2D2D2—〉F2E2|εE2—〉F2D2|εC2—〉1|2|3|4|5|6|7F2—〉0|1|2|3|4|5|6|7I3—〉0xA3A3—〉B3C3B3—〉0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|fC3—〉(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)|C3|εA4—〉+|-|*|/|>|=|==;A5—〉B5C5B5—〉a|b|⋯

书生****写意
实名认证
内容提供者


最近下载