《编译原理》实验(基于教学内容的简单语言的实验可选JavaCCPP).ppt_第1页
《编译原理》实验(基于教学内容的简单语言的实验可选JavaCCPP).ppt_第2页
《编译原理》实验(基于教学内容的简单语言的实验可选JavaCCPP).ppt_第3页
《编译原理》实验(基于教学内容的简单语言的实验可选JavaCCPP).ppt_第4页
《编译原理》实验(基于教学内容的简单语言的实验可选JavaCCPP).ppt_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

编译原理基础实验 基于教学内容的一个简单语言的编译实验 可选实验语言:Java, C, C+等,Table of contents,实验目的 实验对象语言 实验任务 实验考核 参考方案,2,1. 实验目的,通过编程实践进一步理解和应用编译原理基础课堂所讲授的原理性知识:词法分析、语法分析、语义分析、中间代码生成、目标代码生成等; 根据实验任务能够选择恰当的数据结构,使用合适的编程语言进行编程,巩固已学知识并提高分析和解决问题的能力。,3,2. 实验对象语言,一个简单的面向过程编程语言SPL (Simple Programming Language) 类型:整型变量、整型常量; (先声明变量后使用:“类型 变量;”) 运算:加法、乘法; 语句: 顺序语句:“statement1;statement2;” 赋值语句:“被赋值变量=整型值;” 条件转移语句:“if (bool_expr) statements;” 循环语句:“while (bool_expr) statements;” 布尔表达式,4,3. 实验任务,针对使用SPL编写的一个简单源程序,如: main() int a;int b;int c;int d; if (ca) 完成词法分析、语法分析、语义分析与中间代码生成、汇编代码生成等任务。 规范命名变量或域、函数或方法。,5,3. 实验任务:词法分析,接收SPL源程序,如果源程序没有词法错误则输出单词符号流,否则提示出错行号。 具体要求: 正确使用文件的相关操作,分离源程序中单词符号。 按编译原理基础中的细分法中的5类(关键字、算符、界符(分隔符)、标识符和常量)将单词符号转换为相应编码。 使用合理的数据结构、数据库或文件保存单词符号流和符号表。 如果出现非法单词符号,需要提示所在行号。,6,3. 实验任务:语法分析,接收词法分析的单词符号流,选择SLR(1)、LALR或LR(1)中的一种方法进行语法分析。如果没有语法错误则输出语法分析动作,否则提示语法错误。 具体要求: 列表说明所使用文法(产生式需要有对应的编号)。 列出所用FIRST集和FOLLOW集,全部项目集及编号。 使用JFLAP v8.0beta (,3060KB,需要JRE) 做识别活前缀DFA的状态转换图 。 给出action子表和goto子表。 输出语法分析动作(语法制导翻译时还要输出中间代码)。,7,3. 实验任务:语义分析,设计在语法分析时调用的语义子程序,归约时给出相应的语义运作,输出中间代码。如果有语义错误则提示相应的错误,例如哪个变量未声明等。 具体要求: 给出正确的翻译方案。 正确使用回填技术。 选择四元式、三元式或间接三元式中的一种作为中间代码输出。,8,3. 实验任务:代码生成,把语义分析得到的中间代码转化为汇编码并输出。 具体要求: 根据中间代码形式确定汇编代码模式。 输出目标码。,9,4. 实验考核,分组:一人一组 程序设计语言:C、C+或Java等 实验机时:4*4h 提交时间:第4次实验课结束时 提交(放在“学号姓名”文件夹下压缩后提交): 源代码(变量和函数等必须注释说明)、相关类库文件和数据库(用到则需提交)、配置说明; 演示录屏视频(简要说明变量或域、函数或方法,程序的运行过程与结果,不超过5分钟,分辨率适中,录屏和语音清晰即可,文件大小控制在10MB内); 实验报告电子版(.doc,体现实验任务具体要求,图表清晰,文字通顺);,10,4. 实验考核,成绩: 不得抄袭; 实验的完整

温馨提示

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

评论

0/150

提交评论