正在加载图片...
316 翁译原理及实践 China-pub.com 下载 amitcode("atn"); break; break; sprintf(codestr,"ka %s","ldc",t->atrval) emitcode(codestr); sprintE(codestr,"%s %s",lod",t->strval) amitCode(codestr): emitcode("Error") break; 即使用到了必需的不同顺序的遍历,显示代码生成仍然可以在分析时进行(没有语法树的 生成),我们在程序清单8-8中出示了一个Yacc说明文件,它直接对应于程序清单8-7的代码(注 意赋值的前序和后序的组合处理是怎样翻译成独立的部分)。 程序清单8-8根据表8-1的属性文法生成P-代码的Yacc说明 #define ry8 TYPE char· /make Yacc use strings as values*/ token NUM ID % ID aexp +factor (emitcode("adi");) factor £actor:'(:●2p)' I NUM sprintf(codestr,"ks %s","ldc",$1) (p(ce ","1od",1) 即使用到了必需的不同顺序的遍历,显示代码生成仍然可以在分析时进行 (没有语法树的 生成),我们在程序清单8 - 8中出示了一个Ya c c说明文件,它直接对应于程序清单 8 - 7的代码(注 意赋值的前序和后序的组合处理是怎样翻译成独立的部分 )。 程序清单8-8 根据表8 - 1的属性文法生成P -代码的Ya c c说明 3 1 6 编译原理及实践 下载
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有