- 1、本文档共62页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在语义分析同时产生中间代码,在这种模式下,语义分析的主要功能如下: 语义审查 在扫描声明部分时构造标识符的符号表 在扫描语句部分时产生中间代码 * 使用属性文法为工具来说明程序设计语言的语义。 * (Dependency graph)(Topological sort) * 可以包含综合属性,也可以包含继承属性 产生式右端某文法符号的继承属性的计算只取决 于该符号左边文法符号的属性 (对于产生式左边 文法符号,只能是继承属性) * 继承属性的计算通过先根遍历,或者结合先根遍历和中根遍历语法树 procedure PreEval(T:treenode); begin for each child C of T do compute all inherited attributes of C; PreEval(C); end; 7.1.2 遍历分析树进行语义计算 产生式 N ? S1.S2 S ? S1B S ? B B ? 0 B ? 1 语义动作 { N.v := S1.v+S2.v; S1.f :=1; S2.f :=2-S2.l } { S1.f := 2*S.f; B.f : =S.f; S.v := S1.v+B.v; S.l := S1.l +1 } { S.l := 1 ; S.v := B.v ; B.f := S.f } { B.v := 0 } { B.v := B.f } 例:该属性文法可用于将二进制无符号小数转化为十进制小数 考虑输入串 10.01 的语义计算过程 步骤一 构造输入串10.01的语法分析树 S S N S B 0 . B 1 S B 1 B 0 7.1.2 遍历分析树进行语义计算 步骤二 为分析树中所有结点的每个属性建立一个 依赖图中的结点,并给定一个标记序号 S S N S B 0 . B 1 S B 1 B 0 1:v 4:v 3:f 2:l 5:l 6:f 7:v 8:f 9:v 10:f 11:v 18:f 19:v 15:l 16:f 17:v 12:l 13:f 14:v 20:f 21:v 7.1.2 遍历分析树进行语义计算 步骤三 根据语义动作,建立依赖图中的有向边 S S N S B 0 . B 1 S B 1 B 0 1:v 4:v 3:f 2:l 5:l 6:f 7:v 8:f 9:v 10:f 11:v 18:f 19:v 15:l 16:f 17:v 12:l 13:f 14:v 20:f 21:v N ? S1.S2 { N.v := S1.v+S2.v } N ? S1.S2 {S2.f :=2-S2.l } S ? S1B { S.l := S1.l +1 } S ? S1B { S.v := S1.v+B.v } B ? 1 { B.v := B.f } S ? S1B { S1.f := 2S.f; B.f : =S.f } S ? B { S.v := B.v } S ? B { B.f := S.f } 步骤四 该依赖图是无圈的,因此存在拓扑排序. 依任何一个拓扑排序,都能够顺利完成 属性值的计算 如下是一种可能的计算次序: 3,5,2,6,10,8,9,7,11,4,15,12,13,16,20,18,21,19,17,14,1 S S N S B 0 . B 1 S B 1 B 0 1:v 4:v 3:f 2:l 5:l 6:f 7:v 8:f 9:v 10:f 11:v 18:f 19:v 15:l 16:f 17:v 12:l 13:f 14:v 20:f 21:v 步骤五 依计算次序,根据语义动作求出各结点对应的属性值 对如下结点次序进行计算: 3,5,2,6,10,8,9,7,11,4,15,12,13,16,20,18,21,19,17,14,1 S S N S B 0 . B 1 S B 1 B 0 1:v 4:v 3:f 2:l 5:l 6:f 7:v 8:f 9:v 10:f 11:v 18:f 19:v 15:l 16:f 17:v 12:l 13:f 14:v 20:f 21:v 1 1 2 2 1 2 2 2 0 2 1 2 0.25 0.5 0.25 0.5 0.25 0 0 0.25 2.25 语法分析树中各结点属性值的计算过程被称为对语 法分析树的标注 用带标注的语法分析树表示属性值的计算结果 带标注的语法分析树 S S N S B 0 . B 1 S B 1 B 0 f=1
您可能关注的文档
- Electrical Circuits and Electronics课件(华南理工)Lecture 9.ppt
- Electrical Circuits and Electronics课件(华南理工)Lecture 10-11.ppt
- Electrical Circuits and Electronics课件(华南理工)Lecture 13-14.ppt
- Electrical Circuits and Electronics课件(华南理工)Lecture 15.ppt
- Electrical Circuits and Electronics课件(华南理工)Lecture 16.ppt
- Electrical Circuits and Electronics课件(华南理工)Lecture 19.ppt
- Electrical Circuits and Electronics课件(华南理工)Lecture 20.ppt
- Electrical Circuits and Electronics课件(华南理工)Lecture 21-22.ppt
- Electrical Circuits and Electronics课件(华南理工)Lecture 23.ppt
- Electrical Circuits and Electronics课件(华南理工)Lecture 24.ppt
最近下载
- 2023年高中数学会考试题及答案.pdf VIP
- 口腔齿科培训-舒适化拔牙流程.pptx
- 【高中语文】整本书阅读《乡土中国》+学案+统编版高中语文必修上册.docx VIP
- 高等级公路中钢筋混凝土圆管涵的受力分析.pdf
- 上海市华师大二附中2024年高三第一次模拟考试数学试卷含解析.doc
- 2022年中新集团行测笔试题库.pdf
- 2024年部编版五年级上册语文期末复习语言文字积累与梳理1. 字音.pptx VIP
- 森林消防综合应急救援基础能力建设、队伍训练、综合救援队伍装备使用和维护规范.pdf VIP
- 《中国近现代史纲要(2023版)》课后习题答案汇编.docx
- (高清版)DB11∕T 1824-2021 森林消防综合应急救援队伍装备使用和维护规范.pdf VIP
文档评论(0)