欢迎来到天天文库
浏览记录
ID:42600367
大小:17.95 KB
页数:6页
时间:2019-09-18
《2019xx大学11计算机编译原理课程设计安排》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、燕山大学11计算机编译原理课程设计安排 大校11计算机《编译原理》课程设计安排 时间:18周地点:信息馆317、318实验室 一、设计目的:研究、改进或自行设计、开发一个简单的编译程序或其部分功能,加深对编译理论和编 译过程的理解。编程语言不限。 二、设计任务(学号最后一位%4+1):1.扩展PL/0编译程序功能 目的:扩充PL/0编译程序功能。 要求:(1)阅读、研究PL/0编译程序源文件。 (2)在上述工作基础上,可有选择地补充、完善其中词法分析、语法分析、语义分析、目标代码 生成、目标代码解释执行等部分的功能。如
2、以语法分析部分为例,则可以增加处理更多语法成分的功能,如可处理一维数组、++、--、+=、-=、*=、/=、%、!、repeat、for、else、开方、处理注释、错误提示、标示符或变量中可以有下划线等。还可以增加类型,如增加字符类型、实数类型;扩充函数如有返回值和返回语句的,有参数函数等; (3)设计编制典型的运行实例,以便能反映出自己所作的改进。 2.基于LL(1)方法的语法分析程序 目的:设计、编制和调试一个典型的语法分析方法,进一步掌握常用的语法分析方法。要求: (1)根据LL(1)分析法编写一个语法分析程序,可根据自己
3、实际情况,选择以下一项作为分析算法的输入:a.直接输入根据已知文法构造的分析表M; b.输入文法的FIRST(α)和FOLLOW(U)集合,程序自动生成文法的分析表M;c.输入已知文法,程序自动构造文法的分析表M。 (2)所开发的程序可适用于不同的文法和任意输入串,且能判断该文法是否为LL(1)文法。 (3)如完成前两项,可增加运行实例,对于输入的文法和符号串,所编制的语法分析程序应能正确 判断此串是否为文法的句子,并要求输出分析过程。 3.基于LR(0)方法(或SLR(1)方法、或LR(1)方法)的语法分析程序 要求:
4、可根据自己实际情况,选择以下一项作为分析算法的输入: 直接输入根据己知文法构造的LR(0)(或SLR(1)、或LR(1))分析表。 输入已知文法的项目集规范族和转换函数,程序自动生成LR(0)(或SLR(1)、或LR(1))分析表; 输入已知文法,程序自动生成LR(0)(或SLR(1)、或LR(1))分析表。目的和其它要求参考“基于LL(1)方法的语法分析程序” 4.词法分析程序设计 目的:设计、编制和调试一个具体的词法分析程序,加深对词法分析的理解。要求: 通过对PL/0词法分析程序(GETSYM)的分析,编制一个具有以下
5、功能的词法分析程序:a.输入为待进行词法分析的源程序,输出为单词串,即所组成的二元组序列; b.有一定的错误检查能力,例如能发现2a这类不能作为单词的字符串。 选作题目:若以上题目均不感兴趣,可申请做选作题目。①基于Lex和Yacc的C-Minus编译器。 基于Windows环境下的Lex和Yacc集成环境ParserGenerator,实现了以C_Minus(C 语言子集)语言为源语言的编译器。主要从编译技术的角度对C_Minus语言的词法分析、语法分析、符号表的建立以及目标代码生成的过程进行详细的阐述。 ②利用Lex和
6、Yacc工具制作一个小型的计算器编译器。 功能如下:1.分别能够完成十进制、八进制、十六进制的一些基本运算。可以通过DEC_ON,OCT_ON,HEX_ON三个开关进行控制。 2.能够完成一些基本的算术运算和逻辑运算,如:加、减、乘除、乘方、取模、与、或、非等运算。3.提供帮助提示操作,如:HELP命令,清屏命令CLEAR等,错误提示信息等。 1 三、提交设计报告 报告内容包括:课程设计任务、设计目的,设计思想,主要变量说明,算法描述,程序结构,调试情况,运行结果,设计技巧,心得体会等。 报告用B5打印。封面内容包括“编译原
7、理课程设计”、课程设计题目、姓名、班级、学号、日期等信息,左侧面装订。注意排版格式的重要性。 四、课程设计要求 1.课程设计视同课堂教学,上午8:00、下午2:00开始。请全体同学遵守机房要求,文明上机。2.验收时学生将设计报告交给负责验收的老师并参加验收。验收时每位学生应重点说明自己做了哪 些修改、完善或设计工作。验收老师以此作为评定成绩的主要依据。3.若有雷同的程序或报告按不及格处理。 五、辅导值班及验收安排 日期上午下午12月30日王璿、王宝文穆云峰、苑炜弢12月31日邹晓红、穆云峰张世辉、崔永强1月1日放假1月2日
8、张世辉、王宝文邹晓红、崔永强1月3日王璿、苑炜弢验收 验收安排: 计算机应用1和计算机应用2班张世辉、王宝文、邹晓红计算机应用3班和计算机科学2班王璿、苑炜弢、崔永强计算机科学1班穆云峰 六、课程设计
此文档下载收益归作者所有