欢迎来到毕设资料网! | 帮助中心 毕设资料交流与分享平台
毕设资料网
全部分类
  • 毕业设计>
  • 毕业论文>
  • 外文翻译>
  • 课程设计>
  • 实习报告>
  • 相关资料>
  • ImageVerifierCode 换一换
    首页 毕设资料网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    编译原理课程的设计--C语言编译器

    • 资源ID:1396015       资源大小:554KB        全文页数:27页
    • 资源格式: DOC        下载积分:100金币
    快捷下载 游客一键下载
    账号登录下载
    三方登录下载: QQ登录
    下载资源需要100金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

    编译原理课程的设计--C语言编译器

    1、 1 C 语言编译器语言编译器 摘 要 编译原理是计算机科学与技术专业最重要的一门专业基础课程,内容庞 大,涉及面广,知识点多。由于该课程教、学难度都非常大,往往费了大量时间而达不 到预期教学效果俗语说:学习的最好方法是实践。本次课程设计的目的正是基于此,力 求为学生提供一个理论联系实际的机会, 通过布置一定难度的课题, 要求学生独立完成。 我们这次课程设计的主要任务是编程实现对输入合法的算符优先文法的相应的字符 串进行算符优先分析,并输出算符优先分析的过程。算符优先分析法特别有利于表 达式的处理,宜于手工实现。算符优先分析过程是自下而上的归约过程,但这种归约未 必是严格的规范归约。而在整个归

    2、约过程中,起决定作用的是相继连个终结符之间的优 先关系。因此,所谓算符优先分析法就是定义算符之间的某种优先关系,并借助这种关 系寻找句型的最左素短语进行归约。通过实践,建立系统设计的整体思想,锻炼编写程 序、调试程序的能力,学习文档编写规范,培养独立学习、吸取他人经验、探索前言知 识的习惯,树立团队协作精神。同时,课程设计可以充分弥补课堂教学及普通实验中知 识深度与广度有限的缺陷,更好地帮助学生从全局角度把握课程体系。 关键词 程序设计;数据库;SQL;C+; 1 1 任务申请任务申请 1.1、 引言引言 编译器的设计涉及到编译程序构造的一般原理、基本设计方法、主要实现技术和一 些自动构造工具

    3、。 尽管 “编译程序” 是特指将高级程序设计语言翻译成低级语言的软件, 但编译程序构造的基本原理和技术也广泛应用于一般的设计和实现,因此,是一门对实 践性要求较高的课程。 目前,世界上存在着数千种源语言,既有 Fortran 和 Pascal 这样的传统程序设计 语言,也有各计算机应用领域中出现的专用语言。目标语言也同样广泛,目标语言可以 是另一种程序设计语言或者是从微处理机到计算机的任何计算机的机器语言。不同语言 需要不同的编译器。根据编译器的构造方法或者它们要实现的功能,编译器被分为一遍 编译器、多遍编译器、装入并执行编译器、调试编译器、优化编译器等多种类别。从表 面上看,编译器的种类似乎

    4、千变万化,多种多样,实质上任何编译器所要完成的基本任 务都是相同的。通过理解这些任务,我们可以利用同样的基本技术为各种各样的源语言 和目标机器构建编译器。 1.2、 背景背景 编译程序是现代计算机系统的基本组成部分之一,而且多数计算机系统都含有不止 2 一个高级语言的编译程序,对有些高级语言甚至配置了几个不同性能的编译程序。从功 能上看,一个编译程序就是一个语言翻译程序。它把一种语(称作源语言)书写的程序 翻译成另一种语言(称作目标语言)的等价的程序。比如汇编程序是一个翻译程序,它 把汇编语言程序翻译成机器语言程序。如果源语言是像 FORTRAN,PASCAL,或 C 那样的 高级语言,目标语

    5、言是像汇编语言或机器语言那样的低级语言,则这种翻译程序称作编 译程序。 1.3、 目标目标 (1)设计符号表 确定符号表的组织方式,一般应包括名字栏和信息栏,其中名字栏作为关键字。要 考虑能够存储有关名字的信息,并可以高效地完成如下操作: a.查找: 根据给定的名字, 在符号表中查找其信息。 如果该名字在符号表中不存在, 则将其加入到符号表中,否则返回指向该名字的指针; b.删除:从符号表中删除给定名字的表项。 (2)设计词法分析器 设计各单词的状态转换图,并为不同的单词设计种别码。将词法分析器设计成供语 法分析器调用的子程序。功能包括: a.具备预处理功能。将不翻译的注释等符号先滤掉,只保留

    6、要翻译的符号串,即要 求设计一个供词法分析调用的预处理子程序; b.能够拼出语言中的各个单词; c.将拼出的标识符填入符号表; d.返回(种别码, 属性值) 。 (3)语法分析器 要求用预测分析法、递归下降分析法、算符优先分析法、SLR 分析法(几种方法任 选) ,实现对表达式、各种说明语句、控制语句进行语法分析。 (4)目标代码生成器 能完成指定寄存器个数的情况下将一中间代码程序段翻译成汇编语言目标代码(汇 编指令应包括加、减、乘、除) ,要求指令条数最少的情况下,尽量使用寄存器,尽量 少访问内存,这样才能做到运行效率高 2 可行性研究报告可行性研究报告 2.1、引言引言 编写编译器的原理和技术具有十分普遍的意义,以致于在每一个计算机科学家的研 究生涯中,许多原理和技术都会反复用到。编译器的编写涉及到程序设计语言、计算机 体系结构、语言理论、算法和软件工程等学科。简单的说,编译器是一个程序,它读入 用某种语言(源语言)编写的程序并将其翻译成一个与之等价的以另一种语言(目标语 言)编写的程序。作为这个翻译过程匠一个重要组成部分,编译器能够向用户报告被编 3 译的源程序


    注意事项

    本文(编译原理课程的设计--C语言编译器)为本站会员(毕****文)主动上传,毕设资料网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请联系网站客服QQ:540560583,我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们
    本站所有资料均属于原创者所有,仅提供参考和学习交流之用,请勿用做其他用途,转载必究!如有侵犯您的权利请联系本站,一经查实我们会立即删除相关内容!
    copyright@ 2008-2025 毕设资料网所有
    联系QQ:540560583