收藏 分销(赏)

编译原理实验报告逆波兰式分析.doc

上传人:快乐****生活 文档编号:2229090 上传时间:2024-05-23 格式:DOC 页数:6 大小:28.04KB
下载 相关 举报
编译原理实验报告逆波兰式分析.doc_第1页
第1页 / 共6页
编译原理实验报告逆波兰式分析.doc_第2页
第2页 / 共6页
编译原理实验报告逆波兰式分析.doc_第3页
第3页 / 共6页
编译原理实验报告逆波兰式分析.doc_第4页
第4页 / 共6页
编译原理实验报告逆波兰式分析.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、(完整word版)编译原理实验报告逆波兰式分析河南工业大学实验报告课 程 编译原理 实验名称 实验三 逆波兰式分析一. 实验目的1掌握自底向上分析中算符优先分析法的基本原理; 2掌握优先关系表的构造方法。二. 实验内容及要求根据介绍的算术表达式文法编制调试算符优先分析程序,以便对任意输入的简单算术表达式进行分析。将用中缀式表示的算术表达式转换为用逆波兰式(后缀式)表示的算术表达式,并计算用逆波兰式表示的算术表达式的值。程序输入一以#结束的符号串,如:2*(3+4)#。输出过程如下:(1)逆波兰式(后缀式)为:2&3&4&+*;(2)计算结果:14。三. 实验过程及结果(说明:实验结果可以是运行

2、画面的抓屏,抓屏图片要尽可能的小。)代码如下:#include#include#define max 100char exmax; /*存储后缀表达式*/void trans() /*将算术表达式转化为后缀表达式*/char strmax; /*存储原算术表达式*/char stackmax; /*作为栈使用*/char ch;int sum,i,j,t,top=0;printf(*n);printf(*输入一个求值的表达式,以#结束。*n);printf(*n);printf(算数表达式:);i=0; /*获取用户输入的表达式*/doi+;scanf(%c,&stri);while(stri

3、!=# & i!=max); sum=i;t=1;i=1;ch=stri;i+;while(ch!=#)switch(ch)case (: /*判定为左括号*/top+;stacktop=ch; break; case ): /*判定为右括号*/while(stacktop!=() ext=stacktop;top-;t+;top-;break; case +: /*判定为加减号*/case -: while(top!=0&stacktop!=()ext=stacktop;top-;t+;top+;stacktop=ch;break;case *: /*判定为乘除号*/ case /:whil

4、e(stacktop=*|stacktop=/)ext=stacktop;top-;t+;top+;stacktop=ch;break;case :break;default:while(ch=0&ch=9) /*判定为数字*/ext=ch;t+;ch=stri;i+;i-;ext=&;t+;ch=stri;i+;while(top!=0)ext=stacktop;t+;top-;ext=#;printf(nt原来表达式:);for(j=1;jsum;j+)printf(%c,strj); printf(nt后缀表达式:,ex);for(j=1;j=0&ch=9) d=10*d+ch-0; /*将数字字符转化为对应的数值*/ ch=ext;t+; top+; stacktop=d;ch=ext;t+;printf(nt计算结果:%gn,stacktop);void main()trans();compvalue();截屏如下:四. 实验中的问题及心得 这次试验让我更一步了解到自底向上分析中算符优先分析法的基本原理。

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 考试专区 > 中考

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服