(完整word版)编译原理课程设计简单计算器实现.docxVIP

(完整word版)编译原理课程设计简单计算器实现.docx

  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文档。上传文档
查看更多
. 课程设计报告 课程: 学号: 姓名: 班级: 教师: 时间:  编译原理 级嵌入式应用技术班 2014年 6月 计算机科学与技术系 . . 设计名称: 简单计算器的实现 设计内容、目的与要求: 设计内容: 计算器的功能要求如下:可以支持加( +)、减( - )、乘(* )、除( / )运算, 如 3+4-5*2/2; 支持括号运算,如( 4+5)*5/8 。用户输入表达式后,转化为逆波兰式并执行计算,最后输出该表达式的结果。 设计目的: 1、对单词的构词规则有明确的定义; 2、编写的分析程序能够正确识别源程序中的语法符号; 3、计算器源程序的以 .c 格式输出; 4、对于源程序中的语法错误,能够做出简单的错误处理,给出简单的错误提示,保证顺利完成整个源程序的分析; 5、计算器能够实现加,减,乘,除,混合运算,多项式运算 设计要求: 1、将非后缀式用来表示的算术表达式转换为用逆波兰式来表示的算术表达式,并计算用逆波兰式来表示的算术表达式的值。 2、掌握利用算符优先分析法完成中缀表达式到逆波兰式的转化。 计划与进度安排: 5 月 20 日— 5 月 21 日:确定本次课程设计研究课题:实现简单计算器。 5 月 22 日— 5 月 30 日:进行需求分析,分析该计算器具有哪些功能,并明确该 课题的一些要求。 5 月 31 日— 6 月 3 日:查找相关资料和书籍,了解本课题涉及有关知识,如: 编译原理的一些基本概念, 逆波兰式的基本概念, 以及逆波兰式的转化问题等。 6 月 4 日— 6 月 8 日:概要设计,将程序的几大模块分开来设计,画出程序的流 程图 6 月 8 日— 6 月 10 日:详细设计,写出代码并进行调试 6 月 10 日— 6 月 12 日:运行程序,如果能够实现本次课程设计则进行优化,如 果不能满足要求则继续改进。 6 月 13 日— 6 月 15 日:对本次课程设计进行分析总结。 . . 设计过程、步骤(可加页) : 一、需求分析 1.1 总述 在日常的学习与工作过程中, 经常遇到计算表达式数值的问题, 诸如 34- 8+5*10)。如果人为地分步计算, 难免因疏漏了括号或字符而导致结果出错。表达式计算器具有计算表达式结果的功能, 大大方便了学习与工作。 本次开发的表达式计算器能帮我们对数据进行有效的运算, 如通过四则运算能实现对输入数据的加减乘除。本课程设计结合了编译原理中的利用算符优先分析法完成中缀表达式到逆波兰式的转化,并计算输入表达式的结果。 1.2 编写表达式计算器的意义 我们每个人都使用过计算器 , 专用的计算器都是一个现成的器件 , 是由运算芯片完成运算功能的。而且只能进行单纯的加、减、乘、除运算 , 不能进行表达式运算。那么如何用计算机来实现一个基于表达式的计算器呢 ? 用计算机来实现一个基于表达式的计算器 , 也就是用编写程序 ( 即软件 ) 的方法来实现。 所谓的编译程序是指这样的一种程序 , 它能够把某一种语言程序 ( 称为源语言程序 ) 转换成另一种语言程序 ( 称为目标语言程序 ) , 而后者与前者在逻 辑上是等价的。四则混合计算器的输入是一个由字符组成的表达式 ( 源程序 ) , 如果这个表达式是合法的 , 则输出是这个表达式的计算结果 ( 目标代码 ) ; 否则输出错误信息。 因此四则混合计算器是一个典型的编译程序。 编译原理是计算机软件专业的一门重要的专业必修课。 尽管编译过程与外文书刊的翻译工作过程 比较类似 , 但由于编译程序所翻译的毕竟不是自然语言 , 必然有其自身特性 , 因而学生普遍认为这门课程是专业课中比较难于学习的。 即使学习了编译原理这门课 , 大多数学生也不可能就开发出一个编译程序。 事实上 , 许多从事计算机专业的人士也未能编写出一个完整的编译系统。 而编制四则混合运算的计算器 , 就等价于编写一个小的编译系统 , 而且又具有可实现性 , 因此 , 把这个题目作为编译原理学习的一个测验题目是非常适合的。 现有的编译程序通常有两大类 : 一类是翻译 , 另一类是解释。所谓翻译 , 是指在计算机中放置一个能为计算机直接执行的翻译程序 , 它以某一种程序设计语言 ( 源语言 ) 所编写的程序 ( 源程序 ) 作为翻译或加工的对象 , 当计算机执行翻译程序时 , 就将它翻译为与之等价的另一种语言目标语言的程序 ( 目标程序 ) 。如 C 编译程序就是一种翻译程序 , 它的源语言和目标语言分别是相应的 C 语言和机器语言。解释程序也是以源程序作为它的输入 , 它与编译的主要区别是在解释程序的执行过程中不产生目标程序 , 而是边解释边执行源程序本身。 1.3 功能要求 要求:实现具有加、减、乘、除、括号等运算的简单计算器,输入表达式,转换为逆波兰式,输出该表达式的

文档评论(0)

183****0046 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档