《编译原理课程设计》PPT课件

《编译原理课程设计》PPT课件

ID:45603178

大小:367.84 KB

页数:21页

时间:2019-11-15

《编译原理课程设计》PPT课件_第1页
《编译原理课程设计》PPT课件_第2页
《编译原理课程设计》PPT课件_第3页
《编译原理课程设计》PPT课件_第4页
《编译原理课程设计》PPT课件_第5页
资源描述:

《《编译原理课程设计》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、编译原理课程设计2010年3月目的通过实际设计和开发,对“编译程序的设计方法和实现技术”更进一步的了解和掌握;培养大型软件的程序设计方法;一次真正的实践机会;设立开发小组;明确分工、协作;遵循基本的软件开发过程:设计、编码、集成和测试内容总体目标设计并实现SNL程序设计语言的编译程序;SNL语言是自定义的一种类Pascal语言,即嵌套式语言四个模块:词法分析模块语法分析模块(递归下降方法)语法分析模块(LL(1)方法)语义分析模块模块之间的关系语义分析模块词法分析模块语法分析模块(递归下降法)语法分析模块(LL(

2、1)方法)要求三个层次基本掌握编译程序的基本构成;了解词法分析、语法分析和语义分析的功能、设计过程;读懂SNL编译程序(词法分析、语法分析和语义分析)的源代码;提高按照书中介绍的方法和过程,参考已有的SNL编译程序的源代码,自己设计并实现词法分析、语法分析和语义分析模块;(C语言)高级在掌握已有的编译原理方法和实现技术基础上,自己设计并实现,特别是采用面向对象的软件设计思想;(Java)时间安排下午1:00-4:00,请牢记,勿迟到!上机时间:第3周至第10周(共8周,3月29日~5月21日)注:时间比较紧张,注

3、意合理分工和利用课后时间课堂纪律&成绩评定原则上每3名同学为一组,协作完成全部程序,检查程序时,组内成员必须全部到场每个程序给一个成绩,成绩分优秀、良好、中等、及格和不及格五档.综合四个程序的成绩作为每组的总成绩.每组成员因为表现不同,成绩会有不同!若点名有3次未到,成绩为不及格在有效时间内请指导老师检查程序指导老师张红申春张晶SNL语言简介SNL(SmallNestedLanguage)是自行定义的教学模型语言,它是一种类似Pascal的“高级”程序设计语言1、字母表2、数据类型3、程序结构4、语句类型5、语义

4、规定6、程序实例1、SNL语言的字母表(P7)字母:{a..zA..Z}数字:{0..9}运算符:{+,-,*,/,<,=}格式符:{(,),[,],{,},.,EOF,;,空格符,回车符,换行符,’,}2、SNL的数据类型整型(integer)0,20,209,。。。字符型(char)‘a’,‘b’,‘A’,。。。数组(array[low..up]oftype)counter:array[1..10]ofintegercounter[5],counter[9],counter[10],…记录(recordtyp

5、eidlist;…;typeidlistend)redix:recordintegerx,y;charchendredix.x,redix.y,redix.ch3、SNL的程序结构(P8)Program声明---类型声明、变量声明、过程声明Body---语句序列.---程序结束符4、SNL的语句类型顺序语句;是语句间的分隔符条件/分支语句ifexpthen语句列else语句列fi循环语句whileexpdo语句列endwh过程调用语句call过程名(实参表)5、SNL的语义(P13-14)标识符表示变量名、类型名

6、、记录域名、过程名;程序包含显式声明,标识符必须先声明,然后再使用同层过程,不允许标识符的重复定义标识符的作用域和Pascal语言的嵌套作用域规定相同。过程声明可以嵌套;参数有变参、值参两种;过程调用时,实参的个数和类型必须与形参的个数和类型相符;……6、SNL的程序例子P12-P13用SNL语言编写的冒泡排序程序SNL的程序结构变量声明、过程声明循环语句、分支语句、输入/输出语句数组类型等P55简单的输入输出语句程序第一个任务:SNL的词法分析输入:SNL源程序(字符串,文件)输出:Token序列(Token的

7、数据结构)算法:有限自动机实现方式:可手工,可利用FLEXSNL单词的自动机startdoneIDIntNumAssignNZ-digitdigitotherother+,-,*,/,>

8、<

9、=

10、

11、;

12、(

13、)

14、空格

15、回车

16、换行:=letterletterdigitChar’Char’letterdigit’Come{}SNL语言的保留字(P53)programtypeintegercharvarprocedurebeginendreturnarrayofrecordifthenelsefiwhiledoendwh

17、readwrite共21个保留字第二个任务:SNL的递归下降语法分析程序递归下降分析的思想检查SNL语言的文法是否满足递归下降分析的条件编写递归子程序输入:Token序列输出:语法树用实例程序验证分析是否正确第三个任务:SNL的LL(1)语法分析程序LL(1)分析的思想构造并存储LL(1)分析表编写LL(1)驱动程序输入:Token序列输出:语法树第四个任务:SNL的语义

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

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

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