《类型的语义表示》PPT课件.ppt

《类型的语义表示》PPT课件.ppt

ID:52371667

大小:279.06 KB

页数:42页

时间:2020-04-05

《类型的语义表示》PPT课件.ppt_第1页
《类型的语义表示》PPT课件.ppt_第2页
《类型的语义表示》PPT课件.ppt_第3页
《类型的语义表示》PPT课件.ppt_第4页
《类型的语义表示》PPT课件.ppt_第5页
资源描述:

《《类型的语义表示》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第9章符号表9.1类型的语义表示标识符的处理主要包括语义代码化、作用域处理、符号表构造、单元分配等工作。单词是最小的语义单位。一、符号表的作用表格管理错误处理词法分析中间代码生成语法分析中间代码优化目标代码生成源程序目标程序在整个编译阶段都离不开符号表。二、符号表的内容Pascal0有以下几种类型:整型:integer实型:real布尔型:boolean数组型:ARRAY[N1…N2]OFT记录型:RECORDid1:T1;…;idn;TnEND类型表TYPEL结构形如:TYPEL[tp]:TCLASSTPOINT种类部分指针TCLASS:irbad整型实型布尔型数组

2、型记录型TCLASS部分结构如下:数组信息表AINFL的结构形如:AINFL[ap]:LOWUPCTPCLEN下界上界指针类型的长度记录信息表RINFL的表项结构形如:RINFL[rp]:IDEOFFFTP域名部分区距部分FTP是域类型部分一个记录类型要占几个RINFL表项,不同记录类型所占表项个数不一,而在表项中没有链接部分,因此在不同记录的RINFL表之间可放置一条空项,以表示记录类型的RINFL表中的结束。综上所述,我们有:TYPEL表integer:inilreal:rnilboolean:bnilaarray:AINFLdrecord:RINFL设一记录类型的

3、RINFL表为:rp:id1Off1tp1id2Off2tp2idnOffntpn假定integer,real,boolean为标准类型,其地址部分分别为itp,rtp,btp。Leng(itp)=Leng(rtp)=Leng(btp)=1例1:设有数组类型ARRAY[1…10]OFARRAY[1…5]OFinteger则其内部表示如下图所示。AINFLTYPELtp:aTCLASSTPOINTLOWUPCTPCLEN1105a15itp1例2:记录类型RECORDu:integer;a:ARRAY[1…10]OFboolean;r:RECORDx,y:realE

4、NDEND则表示如下图所示。drtp:TCLASSTPOINTu0itpa1atpr11rtp’atp:aTCLASSTPOINTAINFL表110btp1drtp:TCLASSTPOINTx0rtpy1rtp9.2标识符的语义表示程序中标识符的出现分为定义性的和使用性的。标识符的定义部分确定标识符的语义,它主要包括种类、类型、地址等等内容。标识符语义的内部表示称为机内符(机器内部符号)或语义字。在我们的PASCAL0语言中,标识符的种类有:常量种类类型种类变量种类实在变量赋值形参变量引用形参变量赋值形参变量过函种类实在变量标识符语义字的一种结构:ITYPEICLASS

5、IADDR类型部分种类部分地址部分ICLASS的具体结构如下:ICLASS:ctvpdfr常量类型变量过函域名种类形参引用型形参从实际实现的角度来说,ICLASS的上述结构是很不经济的,因为如果用编码方法,三个二进位就够了。但上述结构直观、便于描述,因此还是采用这种结构。IADDR部分的具体意义依赖于ICLASS内容。1.若ICLASS.c=1,则IADDR是CONSL表地址。2.若ICLASS.t=1,则IADDR是类型长度3.若ICLASS.v=1.则IADDR是形如:的抽象地址,其中LEVEL是层数,OFF是区距部分。4.若ICLASS.d=1,则是域类型长度5.

6、若ICLASS.p=1,则IADDR是过函信息表PFINFL的地址,该表的表项结构如下:LEVELOFFLEVELOFFNOFFMOFFFNENTRYPARAMS层数区距DISSPLAY表的区距参数个数子程序入口地址参数处理完临时变量时的第一个可用OFF值标识符的语义字内容如下图所示常量:ITYPEICLASSADDRtp’c’CONSL类型:tp’t’lengtp’v’loff变量:域名:tp’d’leng过函:tp’p’PFINFL例子:设有PASCAL过程说明段:PROCEDUREp(VARx:real;y:boolean);CONSTpai=3.14;TYPEa

7、rr=ARRAY[1…10]OFinteger;VARm:integer;a:arr;FUNCTIONf(Z:real;FUNCTIONG(U,W:real):real;K:integer):integer;BEGIN………………ENDBEGIN………………ENDTYPECLASSADDRpfinfp1pp:2…4rtpvfrx:2…5btpvfy:<3.14>rtpcpai:10ainfptarr:2…offmitpvm:各标识符的语义字分别如下图所示pfinfp2itppf:3…4fvrtpZ:pfinfp3frtppG:3…7fvi

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

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

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