会员注册 | 登录 | 微信快捷登录 支付宝快捷登录 QQ登录 微博登录 | 帮助中心 人人文库renrendoc.com美如初恋!
站内搜索 百度文库

热门搜索: 直缝焊接机 矿井提升机 循环球式转向器图纸 机器人手爪发展史 管道机器人dwg 动平衡试验台设计

   首页 人人文库网 > 资源分类 > DOC文档下载

加减乘除计算器设计报告毕业论文.doc

  • 资源星级:
  • 资源大小:586.00KB   全文页数:20页
  • 资源格式: DOC        下载权限:注册会员/VIP会员
您还没有登陆,请先登录。登陆后即可下载此文档。
  合作网站登录: 微信快捷登录 支付宝快捷登录   QQ登录   微博登录
友情提示
2:本站资源不支持迅雷下载,请使用浏览器直接下载(不支持QQ浏览器)
3:本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

加减乘除计算器设计报告毕业论文.doc

0目录1.概述1.1设计题目1.2设计目的021.3设计内容021.4设计时间022.设计环境与工具023.设计原则3.1递归下降法的描述3.1.1实现思想023.1.2算法的特点033.1.3构造递归下降语法分析程序033.2逆波兰式的描述3.2.1逆波兰式的定义033.2.2产生逆波兰式的前提中缀算术表达式044.设计概要4.1数据结构的说明044.2变量的说明044.3函数的说明054.4详细的算法描述及程序框图4.4.1主函数的说明和框图054.4.2子函数的说明及框图075.源程序096.运行结果157.设计评价及体会7.1设计心得187.2经验教训198.参考文献191算术表达式的语法分析及语义分析程序设计1概述1.1设计题目用递归下降法实现算术表达式的语法分析及语义分析程序设计,中间代码选用逆波兰式。1.2设计目的通过设计、编制、调试一个算术表达式的语法及语义分析程序,加深对语法及语义分析原理的理解,并实现词法分析程序对单词序列的词法检查和分析。1.3设计内容(1)选择递归下降法完成算术表达式的语法分析及语义分析程序设计,中间代码选用逆波兰式。(2)写出符合分析方法要求的文法,给出分析方法的思想。(3)编制好分析程序后,设计若干用例,上机测试并通过所设计的分析程序1.4设计时间20周一周2.设计环境与工具MicrosoftVisualC6.03.设计原则3.1递归下降法的描述3.1.1实现思想它的主要原理是,对每个非终极符按其产生式结构构造相应语法分析子程序,其中终极符产生匹配命令,而非终极符则产生过程调用命令。因为文法递归2相应子程序也递归,所以称这种方法为递归子程序下降法或递归下降法。其中子程序的结构与产生式结构几乎是一致的。文法中每个非终结符对应一个递归过程子程序,每个过程的功能是识别由该非终结符推出的串,当某非终结符的产生式有多个候选式时能够按LL1形式可唯一地确定选择某个候选式进行推导。3.1.2算法的特点递归下降法是语法分析中最易懂的一种方法。递归下降法要满足的条件假设A的全部产生式为Aα1|α2||αn,则必须满足如下条件才能保证可以唯一的选择合适的产生式predictAαi∩predictAαjΦ,当i≠j.3.1.3构造递归下降语法分析程序采用了递归子程序方法进行语法分析,对文法中的每个非终极符号按其产生式结构产生相应的语法分析子程序,完成相应的识别任务。其中终结符产生匹配命令,非终结符则产生调用命令。每次进入子程序之前都预先读入一个单词。因为使用了递归下降方法,所以程序结构和层次清晰明了,易于手工实现,且时空效率较高。实际的语法分析工作,从调用总程序的分析子程序开始,根据产生式进行递归调用各个分析子程序。3.2逆波兰式的描述3.2.1逆波兰式的定义将运算对象写在前面,而把运算符号写在后面。用这种表示法表示的表达式也称做后缀式。逆波兰式的特点在于运算对象顺序不变,运算符号位置3反映运算顺序。采用逆波兰式可以很好的表示简单算术表达式,其优点在于易于计算机处理表达式。3.2.2产生逆波兰式的前提中缀算术表达式4.设计概要4.1数据结构的说明staticcharexprEXP_LEN//算术表达式输入字符缓冲区4.2变量的说明defineEXP_LEN100//定义输入字符缓冲区的长度/出错代码的宏定义/defineINVALID_CHAR_TAIL0//表达式后跟有非法字符defineCHAR_AFTER_RIGHT1//右括号后连接非法字符defineLEFT_AFTER_NUM2//数字后非法直接连接左括号defineINVALID_CHAR_IN3//表达式中含有非法字符defineNO_RIGHT4//缺少右括号defineEMPTY_BRACKET5//括号内无表达式defineUNEXPECTED_END6//预期外的算术表达式结束usingnamespacestdconstn20conststringErrCodeStr//表达式出错信息{表达式后跟有非法字符,右括号后连接非法字符,数字后非法直接连接左括号,表达式中含有非法字符,缺少右括号,括号内无表达式或表达式不完整,

注意事项

本文(加减乘除计算器设计报告毕业论文.doc)为本站会员(liyun)主动上传,人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知人人文库网([email protected]),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。

copyright@ 2015-2017 人人文库网网站版权所有
苏ICP备12009002号-5