收藏 分享(赏)

编译原理实验报告(设计和验证型).doc

上传人:dreamzhangning 文档编号:2727653 上传时间:2018-09-26 格式:DOC 页数:16 大小:169.50KB
下载 相关 举报
编译原理实验报告(设计和验证型).doc_第1页
第1页 / 共16页
编译原理实验报告(设计和验证型).doc_第2页
第2页 / 共16页
编译原理实验报告(设计和验证型).doc_第3页
第3页 / 共16页
编译原理实验报告(设计和验证型).doc_第4页
第4页 / 共16页
编译原理实验报告(设计和验证型).doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、课 程 实 验 报 告专 业 年 级 计算机科学与技术 课 程 名 称 编 译 原 理 指 导 教 师 学 生 姓 名 学 号 实 验 日 期 实 验 地 点 实 验 成 绩 教务处制2010 年 月 日实验报告专业班级 姓名 学号课程名称 编译原理 实验名称 一个顺序栈的基本运算实验实验编号 实验一 实验形式 设计性实验类型 认识与验证型 实验学时 2 学时实验目的1了解掌握栈的相关知识。2学习并使用栈,并能建立栈。实验要求1. 建立一个字符栈。2. 所建栈有进栈、出栈、初始化栈、判断栈空、判断栈满、清栈和取栈顶元素这几个函数。实验内容建立一个字符栈,并有相应的配套函数。把字符串 uwdwe

2、oqei#入栈并输出。实验步骤 #define wyo chartypedef structwyo data50;int top;stack;void InitStack(stack *s)/栈初始化s-top=-1;int StackEmpty(stack *s)/判栈空,空为if(s-top=-1)return 1;elsereturn 0;int StackFull(stack *s)/判栈满,满为if(s-top=50)return 1;elsereturn 0;void ClearStack(stack *s)/清栈s-top=-1;void Push(stack *s,wyo e)

3、/入栈if(!StackFull(s)s-data+s-top=e;elsecoutdatas-top-;elsecoutdatas-top;elsecouty;Push(coutBD,D-FD,D-,F-+B,F-B,B-CE,E-GE,E- ,G*C,G-/C,C-(A),C-i分别验证字符串 i+(i-i*i)/i-i 和 i+(i-i*i)/ii 是否合法.实验步骤 #define wyo chartypedef structwyo data50;int top;stack;void InitStack(stack *s)/栈初始化s-top=-1;int StackEmpty(sta

4、ck *s)/判栈空,空为if(s-top=-1)return 1;elsereturn 0;int StackFull(stack *s)/判栈满,满为if(s-top=50)return 1;elsereturn 0;void ClearStack(stack *s)/清栈s-top=-1;void Push(stack *s,wyo e)/入栈if(!StackFull(s)s-data+s-top=e;elsecoutdatas-top-;elsecoutdatas-top;elsecout=0Push(while(StackEmpty(yan(z); 实验结果与分析教师评语成绩评定:

5、 指导教师签名:实验报告专业班级 姓名 学号课程名称 编译原理 实验名称 中缀表达式转换为后缀表达式实验编号 实验三 实验形式 设计性实验类型 认识与验证型 实验学时 2 学时实验目的1掌握并了解什么是中缀表达式,什么是后缀表达式。2学会如何把中缀表达式转换为后缀表达式。实验要求在实验一的基础上,设计一个函数,此函数的功能是把中缀表达式转换为后缀表达式。实验内容输入字符串 k+k-k+(k*k+k-k)/k-k,输出这个字符串的后缀表达式。实验步骤 #define wyo charchar M50;int m(0);typedef structwyo data50;int top;stack;

6、void InitStack(stack *s)/栈初始化s-top=-1;int StackEmpty(stack *s)/判栈空,空为if(s-top=-1)return 1;elsereturn 0;int StackFull(stack *s)/判栈满,满为if(s-top=50)return 1;elsereturn 0;void ClearStack(stack *s)/清栈s-top=-1;void Push(stack *s,wyo e)/入栈if(!StackFull(s)s-data+s-top=e;elsecoutdatas-top-;elsecoutdatas-top;

7、elsecoutz;Push(while(StackEmpty(while(Seqtop(continue;if(you(Seqtop(continue;if(you(Seqtop(while(you(Seqtop(Pop(continue;if(you(Seqtop(elsewhile(you(Seqtop(int m(0);typedef structwyo data50;int top;stack;void InitStack(stack *s)/栈初始化s-top=-1;int StackEmpty(stack *s)/判栈空,空为if(s-top=-1)return 1;elsere

8、turn 0;int StackFull(stack *s)/判栈满,满为if(s-top=50)return 1;elsereturn 0;void ClearStack(stack *s)/清栈s-top=-1;void Push(stack *s,wyo e)/入栈if(!StackFull(s)s-data+s-top=e;elsecoutdatas-top-;elsecoutdatas-top;elsecout=0elseswitch(Mi)case +:x=ans-n;y=ans-n;ansn+=y+x;break;case -:x=ans-n;y=ans-n;ansn+=y-x;

9、break;case *:x=ans-n;y=ans-n;ansn+=y*x;break;case /:x=ans-n;y=ans-n;ansn+=y/x;break;coutz;Push(while(StackEmpty(if(yan(y)=1)while(Seqtop(continue;if(you(Seqtop(continue;if(you(Seqtop(while(you(Seqtop(Pop(continue;if(you(Seqtop(elsewhile(you(Seqtop(if(StackEmpty(Push(continue;while(StackEmpty(cout“后缀表达式为:“;for(int i=0;i=m;i+)/输出后缀表达式coutMi;coutendl;jisuan();void main()li(); 实验结果与分析教师评语成绩评定: 指导教师签名:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报