- 7
- 0
- 约3.5千字
- 约 16页
- 2023-06-27 发布于浙江
- 举报
第7章 语法制导的语义计算本章提要对于词法分析和语法分析正确的源程序就可以进行语义分析本章主要两种语义分析模型——属性文法和翻译模式。我们只涉及属性文法。一、什么是属性例1:已知文法G:E→ T+T |T or T T→0|1|…|9T→ ture |false分析句子 3+4 的语义T1+T2 |T1 or T2E = T1+T2 =3+4 ? 为什么选择E→ T+T答:从3+4知:T的type应是int type 是T的属性之一,记作:T.type例2:已知文法G(S):S→ ABC A→ Aa |aB→Bb|b C→ Cc |c 该文法定义的语言特点是 a+b+c+即:若干个(至少一个)a,b,c顺序组成的符号串。若要求符号串中a,b,c的数量相等,即{anbncn |n 0}则:原文法中的非终结符不仅要结构正确,而且要数量正确。要关注 A.num B.num C.num num是A,B,C的一种属性文法的属性可用来刻画和文法符号关联的任何特定信息,常用的属性包括:值,类型,地址…在文法的基础上,为每个非终结符号关联一个有特定意义的属性,并为产生式关联相应的语义计算规则,称为属性文法。属性用 VN.t 的形式描述。 VN是某个非终结符号,t 是其属性,中间用“.”连接每个产生式关联的语义计算规则,用{ }括起来。一个产生式出现了相同的文法符号,用不同的下标进行区分。例
原创力文档

文档评论(0)