- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《编译原理实验 (基于教学内容的简单语言的实验 可选Java C CPP)
Report, ICTT of Xidian University 31/10/2014 Advanced MPI, ICS 06/11/2013 《编译原理基础》实验基于教学内容的一个简单语言的编译实验 可选实验语言:Java, C, C++等 屯碎旱情锅病愧初忱破非沥肉秦锄匀茧锹染屁悠磊邑米双轻烹究鞭墩绳思《编译原理》实验 基于教学内容的简单语言的实验 可选Java C CPP《编译原理》实验 基于教学内容的简单语言的实验 可选Java C CPP Table of contents 实验目的 实验对象语言 实验任务 实验考核 参考方案 * 戍檀野炸皂萝嘴窥音艺蔫靳繁叼勇昌沾炔京慎眯娇呀稠晃掇碰泅汝搬皑吩《编译原理》实验 基于教学内容的简单语言的实验 可选Java C CPP《编译原理》实验 基于教学内容的简单语言的实验 可选Java C CPP 1. 实验目的 通过编程实践进一步理解和应用《编译原理基础》课堂所讲授的原理性知识:词法分析、语法分析、语义分析、中间代码生成、目标代码生成等; 根据实验任务能够选择恰当的数据结构,使用合适的编程语言进行编程,巩固已学知识并提高分析和解决问题的能力。 * 陛僳伶婚贤碾邦罚羹渣镜右粮贱丁刘太浅域爹蓄豫恢嫉颅拒充枕伟凡览乳《编译原理》实验 基于教学内容的简单语言的实验 可选Java C CPP《编译原理》实验 基于教学内容的简单语言的实验 可选Java C CPP 2. 实验对象语言 一个简单的面向过程编程语言SPL Simple Programming Language 类型:整型变量、整型常量; 先声明变量后使用:“类型 变量;” 运算:加法、乘法; 语句: 顺序语句:“statement1;statement2;” 赋值语句:“被赋值变量整型值;” 条件转移语句:“if bool_expr statements;” 循环语句:“while bool_expr statements;” 布尔表达式 * 逻讲性啃谍避便离恍忻舜绍办阅萄仲掘术簿茨砧夫畔阀索罚腔阜扁发伞羡《编译原理》实验 基于教学内容的简单语言的实验 可选Java C CPP《编译原理》实验 基于教学内容的简单语言的实验 可选Java C CPP 3. 实验任务 针对使用SPL编写的一个简单源程序,如: main int a;int b;int c;int d; if ca cb aa+b; while cd ad; ab+c*a+d; 完成词法分析、语法分析、语义分析与中间代码生成、汇编代码生成等任务。 规范命名变量或域、函数或方法。 * 辟臭过道尹队硷跪斋盲伸旋烽铃塌奈腑搬蒙窒注汐婆螟站壕易档溪烫牌述《编译原理》实验 基于教学内容的简单语言的实验 可选Java C CPP《编译原理》实验 基于教学内容的简单语言的实验 可选Java C CPP 3. 实验任务:词法分析 接收SPL源程序,如果源程序没有词法错误则输出单词符号流,否则提示出错行号。 具体要求: 正确使用文件的相关操作,分离源程序中单词符号。 按《编译原理基础》中的细分法中的5类(关键字、算符、界符(分隔符)、标识符和常量)将单词符号转换为相应编码。 使用合理的数据结构、数据库或文件保存单词符号流和符号表。 如果出现非法单词符号,需要提示所在行号。 * 鄙函惭望可柳遍承蕊遂谨癌是衣氮枉滓勋工鞍返砂鸦父揉理键猾辣妮擅鸦《编译原理》实验 基于教学内容的简单语言的实验 可选Java C CPP《编译原理》实验 基于教学内容的简单语言的实验 可选Java C CPP 3. 实验任务:语法分析 接收词法分析的单词符号流,选择SLR1、LALR或LR1中的一种方法进行语法分析。如果没有语法错误则输出语法分析动作,否则提示语法错误。 具体要求: 列表说明所使用文法(产生式需要有对应的编号)。 列出所用FIRST集和FOLLOW集,全部项目集及编号。 使用JFLAP v8.0beta ,3060KB,需要JRE 做识别活前缀DFA的状态转换图 。 给出action子表和goto子表。 输出语法分析动作(语法制导翻译时还要输出中间代码)。 * 搜滞拯褐幸全火姑粉退索取轰甩拍捻柯驴芥驾里半颈凶债粒膳情扎傅怀鄙《编译原理》实验 基于教学内容的简单语言的实验 可选Java C CPP《编译原理》实验 基于教学内容的简单语言的实验 可选Java C CPP 3. 实验任务:语义分析 设计在语法分析时调用的语义子程序,归约时给出相应的语义运作,输出中间代码。如果有语义错误则提示相应的错误,例如哪个变量未声明等。 具体要求: 给出正确的翻译方案。 正确使用回填技术。 选择四元式、三元式或间接三元式中的一种作为中间代码输出。 * 组网况碧吉彬皂狮荧蹬障服吾烂
文档评论(0)