应用YACC实现Micro C编译器资料.pdfVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
维普资讯 第 16卷 第6期 长 春 大 学 学 报 V01.16 No.6 Dec.20o6 2006年12月 JOURNALOFCHANG擘HU 兰 文章编号:lOo9-3907(2006)06—0O63—05 应用YACC实现MicroC编译器 宋雅娟,刘 刚 (长春大学计算机科学技术学院,吉林长春 130022) 摘 要:介绍了MicroC语言的文法特点,并以该语言为处理对象,用YACC实现了该语言的编译 器。本文主要从编译技术的角度对MicroC语言的语法分析、目标代码及其解释执行过程进行了 详细地阐述。 关键词:MicroC编译器 ;YACC;目标代码 中图分类号:TP314 文献标识码:A O 引 言 编译程序是计算机系统软件的重要组成部分,其基本原理和实现技术也适用于一般软件的设计和实现, 而且在软件工程、软件自动化、程序分析等领域有着广泛的应用。通常把编译程序视为高级语言到机器语言 的转换程序,这种转换不是结构上的变换,而是基于语言语义的等价变换,因此编译程序设计的难度和复杂 性是极高的 ¨。目前已经有很多著名的编译程序,如c语言、c++等高级语言的编译程序,这些高级语言 功能齐全,应用范围广,但相应的编译程序也比较复杂,不适合作为教学用。世界著名计算机科学家N. Wirth先生实现的PL/0语言是主要用于编译教学方面的计算机高级语言,其语言功能简单、结构清晰、可读 性强,又具备了一般高级语言的必须部分,但其所具有的嵌套式程序结构已经不为学生所了解。学生目前学 习的高级语言多为c语言这样的非嵌套式的语言。基于这种情况,笔者设计了一个小型语言MicroC,它具 有高级语言的最基本的特点,并具有与c语言类似的语法特点。笔者使用YACC实现了该语言的编译器。 1 MicroC语言 1.1 MicroC语言的特点 MicroC语言以函数为基本单位,一个MicroC源程序由一个主函数和若干个其它函数组成。由主函数 调用其他函数,其他函数也可以互相调用,MicroC只支持无参函数。 函数的定义为: 函数名( ) {变量声明部分 语句 } MicroC语言在数据类型上只支持整型。在语句上支持代表顺序结构的赋值语句、输入语句和输出语 句;代表分支结构的if语句;代表循环结构的while语句以及函数调用语句。它的关键字主要有main、if、 else、print、8can、while、int等o 1.2 MicroC语言的文法 使用EBNF范式来描述MicroC语言的文法。 收稿 日期:2o06—10—25 作者简介:宋雅~(1974一),女,吉林省柳河县人,长春大学计算机科学技术学院讲师,博士生,主要从事计算机软件理论忻咒。 维普资讯 ● 长 春 大 学 学 报 第 l6卷 程序::=函数列表 函数列表::=主函数I其它函数列表 主函数 其它函数列表::=函数 I其它函数列表函数 主函数::=主函数头部 {函数体} 函数::=函数头部 {函数体} 主函数头部::=main( ) 函数头部::= 函数名( ) 函数体::= 语句序列Iint变量列表;语句序列 变量列表::=IDI变量列表,ID 语句序列::= 赋值语句I选择语句I循环语句I输入语句I输出语句

文档评论(0)

0520 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档