- 3
- 0
- 约8.8千字
- 约 70页
- 2016-08-22 发布于河南
- 举报
rcomch51
第五章 语法制导翻译 例2: 一个简单的翻译模式(中缀变后缀) E→TR R→addop T {print(addop.lexeme)}R1|ε T→num{print(num.val)} 3+5的语义翻译过程 E R T Pr’3’ 3 T + Pr’+’ 5 R Pr’5’ ε 结果:35+ 翻译方案不仅要考虑“做什么”,还要考虑“怎么做” 某种意义上说,语法制导定义类似于算法,而翻译方案更象程序 带有继承属性L.in的翻译方案 D?T{ L?in:=T ? type }L T ?int { T ? type :=integer } T ?real { T ? type :=real } L ?{L1 ?in :=L ?in} L1,id{addtype(id ?entry,L ?in) } L ?id { addtype(id ?entry,L ?in) } 例5 . 3 变量说明的类型定义 int a,b,c D L.in=t.type L real L1.in=L.in , id3 L1.in=L.in , id2 id1 句子real id1,id2,id3的带继承属性的分析树 T T.type=real L L Add(L.in) Add(L.in) Add(L.in) 例:文法G的产生式如下: S→(L) S →a L →L,S L →S 1.试写出一个语法制导定义,输出配对括号个数 2.写一个翻译方案,打印每个a的嵌套深度 解:1.为S,L引入属性h 产生式 语法制导定义 S→(L) S.h=L.h+1 S →a S.h=0 L →L1,S L.h=L1.h+S.h L →S L.h=s.h S’ →S print(S.h) ( a S S.h=0 L , ( a L.h=0 S S.h=0 L L.h=0 ) S S.h=1 L L.h=1 ) S S.h=2 (a,(a))的分析过程 2.为S,L引入属性d,翻译方案如下 S’ →{S.d=0} S S→( {L.d=S.d+1} L) S →a {print(s.d)} L →{L1.d=L.d} L1, {S.d=L.d}S L →{S.d=L.d} S S’ S.h=0 S ( L.d=1 L ) L.d=1 L , S.d=1 S S.d=1 S Print(1) a ( L.d=2 L ) S.d=2 S Print(2) a (a,(a))的分析过程 5.3 S-属性定义及其自底向上的计算 state val top 在分析栈中使用一个附加的域来存放综 合属性值。 下图为一个带有综合属性值域的分析栈: Z Y Z …… Z.val Y.val Z.val …… ?A?? b:=f(c1,c2,…,ck) A ?b X ?x Y ?y Z ?z 例:A?XYZ A?b:=f(X ?x, Y ?y,Z ?z) ci(1? i?k)是 ?中符号的属性。 其中:b是A的综合属性, 综合属性的值在自底向上的分析过程中, 每步归约时,计算相应的属性值。 X Y Z A state val ... ... A A .b top 定义式 A .b=f(X.x, Y.y, Z.z)(抽象) 变成 val[ntop]=f(val[top-2],val[top-1],val[top])(具体可执行代码)。 归约后,分析栈为: 在执行代码段之前执行: ntop:=top-r+1 执行代码段后执行: top:=ntop; 其中:r是句柄的长度, ntop为归约后栈顶 例5.10 用LR分析器实现台式计算器 产生式 代码段(和表5.1对比) L?En printf(val[ntop]) E ?E+T val[ntop]:=val[top-2]+val[top] E ?T T ?T*F val[ntop]:=val[top-2]*val[
您可能关注的文档
- c语言 chap03_分支结构.ppt
- DBEF系列.ppt
- DDCP1操作说明.doc
- DE2 实验练习解答—lab 2:数字和显示(digital Logic)(DE2).docx
- DDN原理.doc
- DDN网详解.doc
- Diff03.ppt
- Diff05.ppt
- Diff12.ppt
- Diff24.ppt
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
最近下载
- 储能电站电池充放电管理制度.docx VIP
- 2024年重庆市铜梁县公开招聘城市协管员试题带答案详解.docx VIP
- 2024年重庆市奉节县公开招聘城市协管员试题带答案详解.docx VIP
- 2024《管理报告体系研究的国内外文献综述》4600字.docx VIP
- 2026-2031年中国基金市场发展前景预测研究报告.docx VIP
- (人教2024版)数学六年级下册 第4单元《比例》大单元教学设计 .pdf VIP
- 高中物理课件:向心加速度.ppt VIP
- 青岛市2025年高三一模语文试卷(含答案).pdf
- 4 数据管理能力成熟度DCMM标准解读.pptx VIP
- 《诊疗六步》.pptx VIP
原创力文档

文档评论(0)