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

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

  1. 1、本文档共247页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理课后答案——第十一章 小型编译程序

第十一章 小型编译程序 11.1 高级语言到四元式的编译程序PAS 11.2 四元式到汇编语言程序的编译程序COMPILER 11.1 高级语言到四元式的编译程序PAS /****************************************************/ /* pas.c ?*/ /* 高级语言到四元式 ?*/ /***************************************************/ #include ″tdio.h″ #include ″string.h″ ? #define ACC -2 /****************************************/ #define sy_if 0 #define sy_then 1 #define sy_else 2 #define sy_while 3 #define sy_begin 4 #define sy_do 5 #define sy_end 6 #define a 7 #define semicolon 8 #define e 9 #define jinghao 10 #define S 11 #define L 12 ? #define tempsy 15 #define EA 18 /*E and*/ #define EO 19 /*E or*/ #define plus 34 #define times 36 #define becomes 38 #define op_and 39 #define op_or 40 #define op_not 41 #define rop 42 #define lparent 4 #define rparent 49 #define ident 56 #define intconst 57 /******************************************/ char ch=′\0′ ; /*当前字符*/ int count=0; static char spelling[10]={ ″″} ; /*存放识别的字*/ static char line[81]={ ″″} ; /*一行字符缓冲区*/ char *pline ; /*字符缓冲区指针*/ static char ntab1[100][10]; struct ntab { int tc; int fc; }ntab2[200]; int label=0; /*存放临时变量的表的定义 */ struct rwords{ char sp[10]; int sy; }; /*存放文件的结构*/ struct rwords reswords[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}}; struct aa{ int sy1; int pos; }buf[1000]; /*词法分析结果缓冲区*/ n ;/*当前字符*/ n1 ;/*当前表达式中的字符*/ E ;/*非终结符*/ sstack[100] ;/*符号栈*/ ibuf[100], stack[1000]; struct aa oth; struct fourexp{ char op[10]; struct aa arg1; struct aa arg2; int result; }fexp[200]; /*四元式的结构*/ int ssp=0 ; /*指向sstack[100]*/ structaa

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档