- 1、本文档共2页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《编译原理》实验教学大纲
课程名称: 编译原理
英文名称: Principles of Compiler
课程编号: 2215191103
课程性质: 课程类型: 专业必修课 是否为独立设课的实验课:否
适用专业: 软件工程专业
学时与学分: 总 学 时: 72 总学分: 3.5 实验学时:18 实验学分: 0.5
执笔人: 陆克中
制定时间: 2010-
实验课的任务、性质与目的:
希望通过项目引导和问题驱动,使得学生在做项目、解决问题的过程中, 不但能更深刻掌握课程讲授的重要原理和核心技术,而且能培养抽象、形式化的计算机思维和可持续发展的计算机能力,能够围绕实际问题,进行自主学习和探索研究,并最终解决实际应用中遇到的各种问题。
通过编写从文法设计和化简到词法分析、语法分析和中间代码生成等实验,使学生在系统地学习过本门课程之后,能够熟练掌握编写编译器的原理及技术,如自动机理论、LL与LR分析法、代码优化与生成等,并能了解大型系统软件的特点和开发方法,促进学生软件开发能力、问题求解能力的提高和计算机科学思维的培养,使学生能够运用计算机思维,利用以“语言转换”为核心的问题求解方式,将所学知识灵活应用于今后的工作中。
主要仪器设备及环境:
微型计算机系统,每人一套。
最低硬件配置要求:Pentium-2.0 MHz,512 MB Ram,60GB Hard Disk, 10 M Ethernet, Mouse,Keyboard。
软件开发环境:
Microsoft Visual Studio 2005等编程环境,具体不限
三、实验项目的设置与实验内容
序号
实验项目名称
实验内容
实验
要求
实验
时数
每组
人数
实验
类型
1
文法设计与化简
文法类的设计,文法输入、输出和直接推导的实现,文法化简算法的实现
推导问题的发现
必做
4
1-2
设计型
2
词法分析
单词定义的NFA到DFA转换状态机实现,错误处理,输出格式化。
基于Lex的词法分析实现。
必做
4
1-2
设计型
3
语法分析
LL(1), 递归下降分析法,SLR(1),LR(1)等分析方法的手工实现。
基于SableCC,YaCC,Llamma等Compiler-Compiler工具实现语法分析。
必做
5
1-2
设计型
4
代码生成
可选基于自顶向下或自底向上的语法分析方法,进行属性文法、动作语义进行中间代码生成。
必做
5
1-2
设计型
5
编译器开发
综合课程知识,设计开发小型语言编译器
选做
2-4
综合型
四、教材、实验教材(指导书):
[1] 《编译原理》,蒋立源等,西北工业大学出版社,2009年7月第5次印刷
[2] 《编译原理》,张素琴等,清华大学出版社,2005年
五、考核方式与评分办法:
本课程的考核分为平时作业/课堂报告/实验成绩以及期末设计成绩三大部分。总成绩按以下公式计算:
总成绩=平时成绩×40%+期末设计成绩×60%
六、大纲审核人:
编写说明:1、教学计划中有安排实验学时的课程和单独设课的实验课程,已开出或即将开出的教学实验均应编写教学实验大纲。
2、课程编号、课程名称、课程类型按教学计划的要求编写。课内上机学时可视为实验学时。
3、实验类型是指:验证型、综合型、设计型和研究探索型;
4、实验要求是指:必做、选做和其它;
文档评论(0)