编译原理实验指导书

编译原理实验指导书

ID:18274128

大小:115.00 KB

页数:17页

时间:2018-09-16

编译原理实验指导书_第1页
编译原理实验指导书_第2页
编译原理实验指导书_第3页
编译原理实验指导书_第4页
编译原理实验指导书_第5页
资源描述:

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

1、编译原理实验指导书适用专业:计算机应用编制单位:上海电力学院计信学院计算机系编制时间:2005年8月第一章前言本实验指导书提供的实验情况如下:1、实验次数:本课程总共开设4次实验。2、总实验学时:为17学时3、实验硬件和环境需求:(1)微机,64M以上内存。(2)安装了相应的高级语言程序设计系统,如:C语言,或DELPHI,C++,JAVA等高级语言的程序设计环境。(3)安装了相应的汇编语言程序设计系统。4、实验所需的基础知识:学生应该熟悉高级程序设计的方法,数据结构和汇编语言课程的相关基本知识。5、实验分基础部分和提高部分,供学生按照自己的能力和水平选择,基础部分的内容是配

2、合编译原理课程的教学进度设计的,应该是必需完成的实验。第一章基础实验实验一词法分析一、实验目的:通过本实验理解词法分析的整个过程,处理对象和处理的结果,了解词法分析在整个编译过程中的作用。二、实验学时:4学时。三、实验内容根据给出的简单语言的词法构成规则和单词集合,编制词法分析程序,要求能将用给定简单语言语言书写的源程序进行词法分析,同时建立相应的符号表文件存放正确的单词。输出分析结果于文件中,包括:(1)正确的单词符号及其单词种类的序对二元组。(2)错误单词的信息。若有错误,必须输出错误单词在源程序中的行位置。具体输出形式为:二元组:(单词种类,单词内码值)或三元组:(单词

3、种类,单词内码值,源程序中的行号)单词种类见五。四、实验方法构造识别单词集的自动机,编写程序实现。五、实验的处理单词集(注:单词种类统一分类如下:)单词符号单词种类任意变量名0(1)2{3}4;5=6+7*8>9<10,11‘12整型常数30main20int21if22then23else24return25出错100六、处理程序例和处理结果例例1:源程序:main(){y=x-1;}处理结果:(26,"main")(1,"(")(2,")")(3,"{")(0,"y")(6,"=")(0,"x")(,d"-(20,"1")(5,";")(4,")")例2:源程序main(

4、){inta,b;6:a;b=a-1;}处理结果:(26,"main")(1,"(")(2,")")(3,"{"}(21,”int”)(0,"a")(11,",")(0,"b")(5,”;”)(30,"6")(100,":")(0,"a")(5,”;”)(0,"b")(6,"=")(0,"a")(100,"-")(30,"1")(5,”;”)(4,"})")七、参考代码#include#definen100main(){chara[n],t;inti,r=1,m=0;a[0]='';for(i=1;;i++){scanf("%c",&t);if(t!='#')

5、{a[i]=t;r++;}elsebreak;}for(i=1;i

6、if(c=='=')printf("=6");elseif(c=='+')printf("+7");elseif(c=='*')printf("*8");elseif(c=='>')printf(">9");elseif(c=='<')printf("<10");elseif(c==',')printf(",11");elseif(a[*i-1]==''

7、

8、a[*i-1]==''){if(c=='i'){if(a[*i+1]=='n'&&a[*i+2]=='t'&&a[*i+3]==''){printf("int21");*i=*i+2;ret

9、urn*i;}elseif(a[*i+1]=='f'&&a[*i+2]==''){printf("if22");*i=*i+1;return*i;}}elseif(c=='t'){if(a[*i+1]=='h'&&a[*i+2]=='e'&&a[*i+3]=='n'&&a[*i+4]==''){printf("then23");*i=*i+3;return*i;}}elseif(c=='e'){if(a[*i+1]=='l'&&a[*i+2]=='s'&&a[*i+3]=='e'&&a[*i+4

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

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

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