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

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

ID:14623697

大小:169.50 KB

页数:16页

时间:2018-07-29

编译原理实验报告(设计和验证型)_第1页
编译原理实验报告(设计和验证型)_第2页
编译原理实验报告(设计和验证型)_第3页
编译原理实验报告(设计和验证型)_第4页
编译原理实验报告(设计和验证型)_第5页
资源描述:

《编译原理实验报告(设计和验证型)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

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

2、栈并输出。[实验步骤]#definewyochartypedefstruct{wyodata[50];inttop;}stack;voidInitStack(stack*s)//栈初始化{s->top=-1;}intStackEmpty(stack*s)//判栈空,空为{if(s->top==-1)return1;elsereturn0;}intStackFull(stack*s)//判栈满,满为{if(s->top==50)return1;elsereturn0;}voidClearStack(stack

3、*s)//清栈{s->top=-1;}voidPush(stack*s,wyoe)//入栈{if(!StackFull(s))s->data[++s->top]=e;elsecout<<"栈满不能入栈。";}wyoPop(stack*s)//出栈{if(!StackEmpty(s))returns->data[s->top--];else{cout<<"栈空不能出栈。";return-1;}}wyoSeqtop(stack*s)//取栈顶元素{if(!StackEmpty(s))returns->data[

4、s->top];else{cout<<"栈空不能出栈。";return-1;}}voidmain(){stackx;chary=NULL;InitStack(&x);cout<<"输入进栈字符串,以#号结束:";while(y!='#'){cin>>y;Push(&x,y);}cout<

5、栈满时不能在把元素放入栈内,当栈空时也不可能有出栈操作。[教师评语]成绩评定:指导教师签名:实验报告专业班级姓名学号课程名称编译原理实验名称一个优先关系矩阵(或算符优先关系表)实验编号实验二实验形式设计性实验类型认识与验证型实验学时2学时[实验目的]1.掌握LL(1)方法的定义.2.学会求FIRST和FOLLOW集合.3.学会建立预测分析表.[实验要求]设计一段程序验证一个字符串是否合法.[实验内容]LL(1)文法:A->BD,D->FD,D->ε,F->+B,F->-B,B->CE,E->GE,E->ε,

6、G>*C,G->/C,C->(A),C->i分别验证字符串i+(i-i*i)/i-i和i+(i-i*i)/ii是否合法.[实验步骤]#definewyochartypedefstruct{wyodata[50];inttop;}stack;voidInitStack(stack*s)//栈初始化{s->top=-1;}intStackEmpty(stack*s)//判栈空,空为{if(s->top==-1)return1;elsereturn0;}intStackFull(stack*s)//判栈满,满为{

7、if(s->top==50)return1;elsereturn0;}voidClearStack(stack*s)//清栈{s->top=-1;}voidPush(stack*s,wyoe)//入栈{if(!StackFull(s))s->data[++s->top]=e;elsecout<<"栈满不能入栈。";}wyoPop(stack*s)//出栈{if(!StackEmpty(s))returns->data[s->top--];else{cout<<"栈空不能出栈。";return-1;}}wyo

8、Seqtop(stack*s)//取栈顶元素{if(!StackEmpty(s))returns->data[s->top];else{cout<<"栈空不能出栈。";return-1;}}intcha(charx){switch(x){case'+':return0;case'-':return1;case'*':return2;case'/':return3;case'(':return4;case')':r

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。