- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
附录一第二篇第5章语义分析中语义子程序的设计C型程序
附录一 第二篇第5章语义分析中语义子程序的设计(C型程序)
实习题5.2 基于自顶向下方式翻译方案的属性值计算
关于所给翻译方案的各个语义子程序(C型)可设计如下:
void _1( ) /* { R.i:=T.val } */
{ NR=分析栈[tops].结点序号; U=注释分析树[NR].文法符号序号;NT=注释分析树[NR].左兄结点序号;
NTval=search(NT,(val(); /*实现参看实习题5.1,下同*/
Tval=属性信息表[NTval].属性值;
PTval=Dpointer({NTval,NULL});/*实现参看实习题5.1,下同*/
A=A+1; 属性信息表[A]={A,U,(i(,(I(,Tval,PTval,NR};
/*实现参看实习题5.1,下同*/
注释分析树[NR].属性信息链=Apointer({A,NULL});
/*由下面两行实现,下同 */
/*pA=Apointer({A,NULL}); //指向属性结点
注释分析树[NR].属性信息链=pA; */
}
void _2( ) /* { E.val:=R.s } */
{ NR=CurR; /*CurR是全局变量*/NRs=search(NR,(s(); Rsval=属性信息表[NRs].属性值;PRs=Dpointer({NRs, NULL});
NE=注释分析树[NR].父结点序号;
U=注释分析树[NE].文法符号序号;A=A+1;属性信息表[A]={A,U,(val(,(I(,Rsval,PRs,NE};注释分析树[NE].属性信息链=Apointer({A,NULL});
}
void _3( ) /* { R1.i:=R.i+T.val } */
{ NR1=分析栈[tops].结点序号;
U=注释分析树[NR1].文法符号序号;NR=注释分析树[NR1].父结点; NRi=search(NR,(i();NT=注释分析树[NR].左兄结点序号;NTval=search(NT,(val();PTval=Dpointer({NTval, NULL}); PRi=Dpointer({NRi, PTval}); R1ival=属性信息表[NRi].属性值+属性信息表[NTval].属性值;A=A+1;属性信息表[A]={A,U,(i(,(I(,R1ival,PRi,NR1};注释分析树[NR1].属性信息链=Apointer({A,NULL});
}
void _4( ) /* { R.s:=R1.s } */
{ NR1=CurR; NR1s=search(NR1, (s();
R1sval=属性信息表[NR1s].属性值;
PR1sval=Dpointer({NR1s, NULL});
NR=注释分析树[NR1].父结点序号;CurR=NR;
U=注释分析树[NR].文法符号序号;A=A+1;属性信息表[A]={A,U,(s(, (I(,R1sval, PR1sval, NR};/*把属性信息表序号A链入注释分析树中结点NR的属性信息链*/
pA=Apointer({A,NULL});/*指向属性结点*/
注释分析树[NR].属性信息链=
AppendAlink(pA, 注释分析树[NR].属性信息链);
}
void _5( ) /* { R1.i:=R.i-T.val } */
{ NR1=分析栈[tops].结点序号; U=注释分析树[NR1].文法符号序号;NR=注释分析树[NR1].父结点; NRi=search(NR, (i();
NT=注释分析树[NR].左兄结点序号;NTval=search(NT,(val();
R1ival=属性信息表[NRi].属性值-属性信息表[NTval].属性值;PTval=Dpointer({NTval, NULL}); PRi=Dpointer({NRi, PTval});
A=A+1;属性信息表[A]={A,U,(i(, (I(,R1ival, PRi, NR1};注释分析树[NR1].属性信息链=Apointer({A,NULL});
}
void _6( ) /* R::=( { R.s:=R.i } */
{ NR=注释分析树[N].父结点序号; CurR=NR;
U=注释分析树[NR].文法符号序号;
NRi=search(NR, (i(); Rsval=属性信息表[NRi].属性值;
PRi=Dpointer({NRi,NULL});
A=A+1;属性信息表[A]={A,U,(s(, (I(,
您可能关注的文档
最近下载
- 科室全成本核算.ppt VIP
- (完整版)幼儿园五年发展规划【可编辑版】.docx VIP
- 福克纳 A Rose for Emily 献给艾米丽的玫瑰 (英文原文+译文).pdf VIP
- 高考数学总复习《函数性质》专项测试卷及答案.pdf VIP
- 课题申报书:核心素养引领下的小学数学课堂教学方式的转变研究.docx VIP
- 人教版数学五年级上册第七单元教案(含单元备课).pdf VIP
- 湖北省武汉2025届高三上学期10月月考物理试题含答案.docx VIP
- 2025年秋期部编人教版六年级上册语文全册核心素养教案(教学反思有内容+二次备课版).docx
- 初中整本书阅读系列之《红星照耀中国》第8-9篇 同红军在一起PPT课件.pptx VIP
- 2024年初级会计职称《经济法基础》精讲课件.pptx VIP
文档评论(0)