编译原理实验精选PPT.ppt
《编译原理实验精选PPT.ppt》由会员分享,可在线阅读,更多相关《编译原理实验精选PPT.ppt(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、编译原理实验第1页,此课件共44页哦一.概述 1.源语言:求n!的极小语言 (文法见后)第2页,此课件共44页哦begin;end;integer 第3页,此课件共44页哦 abcdefghijklmno pq rstuvwxyz0123456789integer function();第4页,此课件共44页哦begin;end;read()write()第5页,此课件共44页哦:=-*第6页,此课件共44页哦ifthenelse =第7页,此课件共44页哦 2.工具语言:Pascal、C或其它 3.语法分析采用递归下降分析法 4.目标代码:P码 5.编译程序的结构第8页,此课件共44页哦源程
2、序字符串.pas词法分析器语法分析器语义分析、中间代码生成器代码优化器目标代码生成器二元式序列.dyd二元式序列.dys中间代码序列.qud中间代码序列.qdo符 号 表 管 理 程 序出 错 处 理 程 序编译程序的结构编译程序的结构P码第9页,此课件共44页哦二.各阶段的输入输出 1.词法分析词法分析器源程序.pas二元式(文本文件.dyd)第10页,此课件共44页哦 2.语法分析语法分析器.dyd.dys同时,产生文本文件.var、.pro第11页,此课件共44页哦 3.语义分析语义分析器.dys.qud(文本文件)同时,产生二进制文件.ooj、varfil、profil第12页,此课件
3、共44页哦 4.优化优化段.qud.ooj.qdo(文本文件)同时,产生二进制文件.coj第13页,此课件共44页哦 5.目标代码生成目标代码生成器.qdo.coj.obj(P码)同时,产生二进制文件pf(目标指令)第14页,此课件共44页哦三.数据结构 1.二元式文件.dyd (1)二元式形式:单词符号种别长度为16长度为2一个空格第15页,此课件共44页哦单词符号单词符号种别种别单词符号单词符号种别种别单词符号单词符号种别种别1234567891011121314151617181920212223integerbeginendelsefunctionreadwrite标识符常数=-*:=
4、();单词符号与种别对照表单词符号与种别对照表ifthen第16页,此课件共44页哦 (2)每行后加一 “.EOLN24”(3)文件结尾加 “.EOF25”第17页,此课件共44页哦 2.错误信息文件.err (1)错误信息格式 *LINE:行号错误性质 (2)注意:进入每一阶段,首先打开.err,如果无错误,则.err为空。3.dys 同.dyd第18页,此课件共44页哦 4.变量名表u变量名vname:char(16)u所属过程vproc:char(16)u分类vkind:0.1(0变量、1形参)u变量类型vtype:typesu变量层次vlev:intu变量在变量表中的位置vadr:in
5、t(相对第一个变量而言)types=(ints)第19页,此课件共44页哦 5.过程名表u过程名pname:char(16)u过程类型ptype:typesu过程层次plev:intu第一个变量在变量表中的位置fadr:intu最后一个变量在变量表中的位置ladr:int第20页,此课件共44页哦 6.四元式表 (oprd,op1,op2,result)uoprd整数码uop1第一操作数uop2第二操作数uresult结果op1、op2、result可用“值/地址”表示第21页,此课件共44页哦 7.目标代码P码 参见目标代码(P码)指令表第22页,此课件共44页哦四.实现提示 1.多数文件均
6、和源文件同名,仅扩展名不同。2.词法分析时,注意行尾和文件尾。3.词法分析的实现方法利用状态转换图 第23页,此课件共44页哦04123567开始空白字母/数字字母非字母数字数字非数字=-*数字89()第24页,此课件共44页哦101112=13141516其它=171819:其它=其它2021;其它*第25页,此课件共44页哦 4.(有过程说明时)设一个总的变量名表,查、填表时注意嵌套。5.语法错分类:(1)缺少符号错;(2)符号匹配错;(3)符号无定义或重复定义。6.递归下降分析时,必须先消除左递归。第26页,此课件共44页哦 7.递归下降分析时,跟踪符号的位置 当进入某过程时,其第一个符
7、号必须已经读出;退出该过程时,必须读出该语法成分的右界符。第27页,此课件共44页哦例:G(E)EE+TT TT*FF F(E)iu消除左递归:ETE E+TE TFT T*FT F(E)i第28页,此课件共44页哦u过程match:匹配单词符号,并读入下一符号u变量lookahead:即将处理但尚未处理的符号procedure match(t:token);begin if lookahead=t then lookahead=nexttoken else errorend;第29页,此课件共44页哦procedure E;begin T;Eend;procedure T;begin F;T
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 原理 实验 精选 PPT
限制150内