欢迎来到天天文库
浏览记录
ID:55894963
大小:827.50 KB
页数:56页
时间:2020-06-13
《大连理工大学编译原理.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库。
1、4.1语法制导的定义例简单台式计算器的语法制导定义产生式语义规则LEnprint(E.val)EE1+TE.val:=E1.val+T.valETE.val:=T.valTT1*FT.val:=T1.val*F.valTFT.val:=F.valF(E)F.val:=E.valFdigitF.val:=digit.lexval4.1语法制导的定义4.1.1语法制导定义的形式基础文法每个文法符号有一组属性每个文法产生式A有一组形式为b:=f(c1,c2,…,ck)的语义规则,其中f是函数,b和c1,c2,…,c
2、k是该产生式文法符号的属性综合属性:如果b是A的属性,c1,c2,…,ck是产生式右部文法符号的属性或A的其它属性。继承属性:如果b是产生式右部某个文法符号X的属性。属性值由分析树中它的子结点的属性值来计算属性值由结点的兄弟结点及父结点的属性值来计算。4.1语法制导的定义4.1.2综合属性S属性定义:仅仅使用综合属性的语法制导定义产生式语义规则LEnprint(E.val)EE1+TE.val:=E1.val+T.valETE.val:=T.valTT1*FT.val:=T1.val*F.valTFT.val:=F.
3、valF(E)F.val:=E.valFdigitF.val:=digit.lexval4.1语法制导的定义8+5*2n的注释分析树digit.lexval=2LE.val=18nT.val=10E.val=8T.val=8F.val=8digit.lexval=8T.val=5+*F.val=5F.val=2digit.lexval=5每个结点的属性值都标注出来的分析树,称为~。4.1语法制导的定义分析树各结点属性的计算可以自下而上地完成digit.lexval=2LE.val=18nT.val=10E.val=8T.v
4、al=8F.val=8digit.lexval=8T.val=5+*F.val=5F.val=2digit.lexval=58+5*2n4.1语法制导的定义分析树各结点属性的计算可以自下而上地完成digit.lexval=2LE.val=18nT.val=10E.val=8T.val=8F.val=8digit.lexval=8T.val=5+*F.val=5F.val=2digit.lexval=58+5*2n4.1语法制导的定义分析树各结点属性的计算可以自下而上地完成digit.lexval=2LE.val=18nT.va
5、l=10E.val=8T.val=8F.val=8digit.lexval=8T.val=5+*F.val=5F.val=2digit.lexval=58+5*2n4.1语法制导的定义分析树各结点属性的计算可以自下而上地完成digit.lexval=2LE.val=18nT.val=10E.val=8T.val=8F.val=8digit.lexval=8T.val=5+*F.val=5F.val=2digit.lexval=58+5*2n4.1语法制导的定义分析树各结点属性的计算可以自下而上地完成digit.lexval=2
6、LE.val=18nT.val=10E.val=8T.val=8F.val=8digit.lexval=8T.val=5+*F.val=5F.val=2digit.lexval=58+5*2n4.1语法制导的定义分析树各结点属性的计算可以自下而上地完成digit.lexval=2LE.val=18nT.val=10E.val=8T.val=8F.val=8digit.lexval=8T.val=5+*F.val=5F.val=2digit.lexval=58+5*2n4.1语法制导的定义分析树各结点属性的计算可以自下而上地完成
7、digit.lexval=2LE.val=18nT.val=10E.val=8T.val=8F.val=8digit.lexval=8T.val=5+*F.val=5F.val=2digit.lexval=58+5*2n4.1语法制导的定义分析树各结点属性的计算可以自下而上地完成digit.lexval=2LE.val=18nT.val=10E.val=8T.val=8F.val=8digit.lexval=8T.val=5+*F.val=5F.val=2digit.lexval=58+5*2n4.1语法制导的定义分析树各结点
8、属性的计算可以自下而上地完成digit.lexval=2LE.val=18nT.val=10E.val=8T.val=8F.val=8digit.lexval=8T.val=5+*F.val=5F.val=2digit.lexval=58+5*2n4.1语法制导的定义分析树各
此文档下载收益归作者所有