




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验三、语法制导翻译与中间代码生成简单计算器程序设计:设计、实现一个简单的计算器程序或 无符号数识别程序设计: P57-59 (备用)1 实验目的设计、实现一个简单的计算器程序2 实验原理 使用后缀表达式和堆栈实现对表达式的分析后进行计算。3 主要仪器设备 操作系统:WindowsXP 开发语言:Visual C+6.04 主要内容和步骤 将算术表达式转换成后缀表达式进行计算,例如A*(B+C)(1)词法分析模块:对输入的表达式从左到右扫描,识别出表达式中的单词(包括运算符和运算数),若单词的构成不符合词法规则(运算符和运算数的构成规则),则报错并停止计算。(2)语法分析模块:将单词分解为各类语法短语,若存在不符合规则的语法短语,则报错并停止计算。(3)计算模块:对符合语法规则的语法短语进行计算,若计算不能进行,则报错并停止计算。5 编程与设计#include#include#define MaxSize 99void translate(char str,char exp) /*将算术表达式转换成后缀表达式*/ struct char dataMaxSize; int top; /*top为栈顶*/ op; /*定义一个含data和top的结构体*/ char ch; int i = 0,t = 0; op.top = -1; ch = stri; /*将str的每一个数转换成ch*/ i+; while(ch != 0) /*ch对应不同的符号的时候对应的转换情况*/ switch(ch) case (: /*当是(的时候,将此括号存入栈op*/ op.top+;op.dataop.top=ch; break; case ): while(op.dataop.top != () /*括号内的转换优先级最高,故先提取表达式*/ expt=op.dataop.top; op.top-; t+; op.top-; break; case +: case -: while(op.top != -1&op.dataop.top != () expt = op.dataop.top; op.top-; t+; op.top+; /*恢复可插入位置*/ op.dataop.top = ch; break; case *: case /: while(op.top = /|op.top = *) /*优先级*/ expt = op.dataop.top; op.top-; t+; op.top+; op.dataop.top = ch; break; case : /*忽略空格,排除误操作*/ break; default: while(ch = 0&ch = 0&ch = 9) /*从后缀表达式中获取操作数,#作用在此体现*/ d = 10*d+ch-0; ch = expt; t+; st.top+; st.datast.top = d; ch = expt; t+; return st.datast.top;int main() /*可以提到前面去*/ char strMaxSize,expMaxSize; /*str为算术表达式,exps为后缀表达式*/ printf(请输入一个求值表达式n); gets(str); /*输入一个算术表达式*/ printf(原表达式是:%sn,str); translate(str,exp); /*将算术表达式转换成后缀表达式*/ printf(后缀表达式:%sn,exp); printf(计算结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版房地产项目融资协议书示范
- 2025年度车辆托管与车辆租赁及增值服务协议
- 2025年度企业员工食堂膳食供应合同
- 2025年度企业商业信用贷款抵押合同模板
- 2025版事业单位信息安全人员聘用合同书(含数据安全协议)
- 2025版汽车维修配件进口分销合同
- 2025版水泥沙石行业绿色认证及标准制定合同
- 2025版医疗器械行业高级管理人员劳动合同示范
- 2025版桥梁施工环境保护及恢复合同
- 2025版幼儿园托管服务合同范本下载及解读
- 2025年业务接替交接协议书
- 2025年1月浙江省高考地理试卷(含答案)
- 2025年湖南铁道职业技术学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 患者照护用品的应用护理员培训
- DB32-T 4334-2022 薄壳山核桃郁闭园改造技术规程
- 农办主任履行职责工作(2篇)
- 2025年中国维生素C咀嚼片市场供需格局及未来发展趋势报告
- 规则之下方有自由课件-高一上学期行为常规主题班会
- 广东省汕头市金平区2021-2022学年八年级下学期期末英语卷
- 物流行业固废处理方案
- 云南省第二十一届职工职业技能大赛机器人系统运维员竞赛考试题库(含答案)
评论
0/150
提交评论