小型跨平台类c语言的设计与实现

小型跨平台类c语言的设计与实现

ID:8836703

大小:37.00 KB

页数:6页

时间:2018-04-09

小型跨平台类c语言的设计与实现_第1页
小型跨平台类c语言的设计与实现_第2页
小型跨平台类c语言的设计与实现_第3页
小型跨平台类c语言的设计与实现_第4页
小型跨平台类c语言的设计与实现_第5页
资源描述:

《小型跨平台类c语言的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、本文由jiechurensheng贡献pdf文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。2009年5月第3期南京晓庄学院学报JOURNALOFNANJINGXIAOZHUANGUNIVERSITYMay.2009No.3小型跨平台类C语言的设计与实现曲波(南京晓庄学院信息技术学院,江苏南京210017)摘要:文章阐述了小型跨平台类C语言CC的设计与实现.CC语言类似于C语言的子集,语法与C语言十分接近;目标代码采用RICS类型指令系统结构,使用栈式虚拟机解释执行;具有常用的多种数据类型,具备跨平台功能,适于做编译系统课程的教学语言.CC语言稍加扩充后,可成

2、为实用的工程语言,适用于嵌入式系统和跨平台系统应用.关键词:编译原理教学语言;类C语言;跨平台程序设计语言;RISC指令系统;栈式虚拟机中图分类号.TP3ll文献标识码:A文章编号:1009—7902(2009)03—0078—040引言本过程,从而使学生对编译程序的实现建立起整体的概念.cC语言的中间代码为自定义虚拟机的汇编代码,然后由编译程序据此生成机器代码,由虚拟机解释执行.机器语言采用RISC类型指令结构,极大简化了编译程序和虚拟机结构的复杂性.虚拟机系统可在不同操作系统平台下实现,从而可实现CC语言的平台无关性,使CC语言成为跨平台语言.笔者用c语言设计了CC语言编译程序及相应虚

3、拟机解释程序,使该语言不再是纸上谈兵,而成为真正的教学语言.在该语言编译程序中,体现出"编译原理"课程的基本内容,适于学生学习;在实现中不单纯追求运行效率而使用过于复杂的算法;为便于学生理解和进一步扩充,程序规模适度(近3000行);为便于学生学习,在程序的关键部分加入注释.CC语言的数据类型包含字符型和整型,与PL/0的无类型语言有了本质上的不同.同时,CC语言还有指针类型,数组类型,具备了真正工程语言所需的基本功能.在CC语言的基础上稍加改进,如增加浮点型,增加函数库等,就可方便地将CC语言升级为真正的跨平台工程语言,尤其适用于嵌入式系统开发.1编译原理课程是计算机专业重要的专业课程,

4、由于历史的原因,目前流行的教学语言是PL/O.该语言相当于PASCAL语言的子集,使用与PASCAL语言相似的语法.在当年的"PASCAL时代",用PASCAL语言实现PL/0编译程序,简单自然,相得益彰.但随着c语言逐渐取代PASCAL语言,成为系统程序设计的主流语言,人们对PASCAL语言的语法结构越来越生疏.而C语言的语法结构及程序设计思想与PASCAL语言有较大区别,致使学生在学习编译原理课程时,对与C语言语法格格不入的PL/0语言感到很不适应.同时,用流行的C语言设计与C语言相距甚远的"过时"语言,也难以体现C语言的真正魅力,难以激起学生对C语言能力的信任.笔者根据编译原理课程的

5、需求,设计了一个简洁实用的类C教学语言,命名为CC,意为"简洁的C(ConciseC)".CC语言类似于C语言的一个子集,具有清晰的词法和语法定义,具备一般高级编译语言的必需部分(如函数,指针,数组,数据类型等),并且语言功能简单,结构清晰,可读性强,语言规模适中.CC语言编译程序采用一遍扫描结构,实现了词法分析,语法分析,语义分析,汇编目标代码生成,机器代码生成,符号表管理,机器代码解释执行等编译程序的基收稿日期:2008—10—21CC语言设计与实现CC语言类似于c语言的子集,其词法规则及语法规则与C语言极为相似.同时该语言的扩展性也为学生提供了充分发挥才能的机会.作者简介:曲波(19

6、53一),男,辽宁大连人,南京晓庄学院信息技术学院教授~78—万方数据1.1语言功能CC语言具有清晰的词法,语法定义,具备一般高级语言所需的基本部分,具备顺序,条件和重复(循环)三种程序设计结构.除具备PL/O语言具有的功能和特点,例如过程定义和调用,局部变量说明取一个词法记号,就送入语法分析器进行分析.1.2.2编译器语法分析语法分析器是编译过程的核心部分,其主要任务是识别各类语法成分,为语义分析和代码生成做准备.语法制导递归下降分析法【2川的构造方法简单,程序结构和层次清晰明了,易于手工实现,可提高学生学习的兴趣,降低学习"编译原理"课程的难度.算符优先分析法是一种简单直观,广为使用的

7、自底向上分析法,适于分析表达式,易于手工实现.CC编译器采用语法制导递归下降分析法和算符优先分析法相结合的方法实现.CC编译器总体结构采用自顶向下的语法制导递归下降法.CC语言的文法是LL(1)文法.CC编译器在进行语法调用分析时,各个非终结符语法单位所对应的分析过程式存在相互调用的关系.在CC编译器中,与语法分析相关的函数有:statement(),expression(),doif(),dowhile()等.CC编译

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

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

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