编译原理课后答案——第十一章--小型编译程序ppt课件.ppt

编译原理课后答案——第十一章--小型编译程序ppt课件.ppt

ID:58577553

大小:421.50 KB

页数:247页

时间:2020-10-20

编译原理课后答案——第十一章--小型编译程序ppt课件.ppt_第1页
编译原理课后答案——第十一章--小型编译程序ppt课件.ppt_第2页
编译原理课后答案——第十一章--小型编译程序ppt课件.ppt_第3页
编译原理课后答案——第十一章--小型编译程序ppt课件.ppt_第4页
编译原理课后答案——第十一章--小型编译程序ppt课件.ppt_第5页
编译原理课后答案——第十一章--小型编译程序ppt课件.ppt_第6页
编译原理课后答案——第十一章--小型编译程序ppt课件.ppt_第7页
编译原理课后答案——第十一章--小型编译程序ppt课件.ppt_第8页
编译原理课后答案——第十一章--小型编译程序ppt课件.ppt_第9页
编译原理课后答案——第十一章--小型编译程序ppt课件.ppt_第10页
资源描述:

《编译原理课后答案——第十一章--小型编译程序ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第十一章小型编译程序11.1高级语言到四元式的编译程序PAS11.2四元式到汇编语言程序的编译程序COMPILER11.1高级语言到四元式的编译程序PAS/****************************************************//*pas.c *//*高级语言到四元式*//***************************************************/#include″tdio.h″#include″string.h″#defineACC-2/****************************************/

2、#definesy_if0#definesy_then1#definesy_else2#definesy_while3#definesy_begin4#definesy_do5#definesy_end6#definea7#definesemicolon8#definee9#definejinghao10#defineS11#defineL12#definetempsy15#defineEA18/*Eand*/#defineEO19/*Eor*/#defineplus34#definetimes36#definebecomes38#defineop_and39#defineop_o

3、r40#defineop_not41#definerop42#definelparent4#definerparent49#defineident56#defineintconst57/******************************************/charch=′′;/*当前字符*/intcount=0;staticcharspelling[10]={″″};/*存放识别的字*/staticcharline[81]={″″};/*一行字符缓冲区*/char*pline;/*字符缓冲区指针*/staticcharntab1[100][10];structn

4、tab{inttc;intfc;}ntab2[200];intlabel=0;/*存放临时变量的表的定义*/structrwords{charsp[10];intsy;};/*存放文件的结构*/structrwordsreswords[10]={{″if″,sy_if},{″do″,sy_do},{″else″,sy_else},{″while″,sy_while},{″then″,sy_then},{″begin″,sy_begin},{″end″,sy_end},{″and″,op_and},{″or″,op_or},{″not″,op_not}};structaa{intsy

5、1;intpos;}buf[1000];/*词法分析结果缓冲区*/n;/*当前字符*/n1;/*当前表达式中的字符*/E;/*非终结符*/sstack[100];/*符号栈*/ibuf[100],stack[1000];structaaoth;structfourexp{charop[10];structaaarg1;structaaarg2;intresult;}fexp[200];/*四元式的结构*/intssp=0;/*指向sstack[100]*/structaa*pbuf=buf;/*指向词法分析缓冲区*/intnlength=0;intlnum=0;/*源程序长度*/i

6、nttt1=0;FILE*cfile;FILE*mfile;/*********************************************************/intnewt=0;/*临时变量*/intnxq=100;/*nxq指向下一个形成的四元式的地址*/intlr;intlr1;intsp=0;/*状态栈定义*/intstack1[100];intsp1=0;/*状态栈1的定义*/intnum=0;structll{intnxq1;inttc1;intfc1;}labelmark[10];intlabeltemp[10];intpointmark=-1,po

7、inttemp=-1;intsign=0;/*sign=1,表达式为赋值语句;sign=2,表达式为布尔表达式。*//***********************************************/staticintaction[19][13]=/*0*/{{2,-1,-1,3,4,-1,-1,5,-1,-1,-1,1,-1},/*1*/{-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,ACC,-1,-1},/*2*/{-1,-1,-1,-

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

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

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