- 1、本文档共41页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 6 章 中间代码及其翻译 静态语义审查 6.1 常用的中间代码形式 语句标号为转向语句提供转入语句标识,二者用标号相关联。 ※ 中间代码设计示例: ※ 中间代码设计示例(续1): 6.3 语法制导翻译 ※ 属性文法构造示例 ※ 属性文法构造示例 (续1): ※ 属性文法构造示例 (续2): ※ 属性文法构造示例 (续3): ※ 算术表达式四元式属性翻译文法设计 ※ 算术表达式四元式属性翻译文法设计 ※ 算术表达式四元式属性翻译文法设计 ※ 属性翻译文法应用示例 ※ 属性翻译文法应用示例(续1) 6.4 语法制导翻译器的实现 6.4 语法制导翻译器的实现(续1) 6.4.2 LL(1)法四元式翻译器构造 6.4.2 LL(1)法四元式翻译器构造 ※ 算术表达式句柄识别器的构造 6.4.2 LL(1)法四元式翻译器构造 2. LL(1)分析器的扩展 1. 设置 语义栈:SEM[m] 四元式区:QT[q] 语法栈:SYN[n] ; (2) 当动作符号位于栈顶时,执行之; (1) 当产生式(逆序)压栈时,动作符号也不例外; 3. 属性翻译文法设计 E - T E′ ① E′- + T {GEQ(+)} E′②| - T {GEQ(-)} E′③| ? ④ T - F T′⑤ T′- * F {GEQ(*)} T′⑥| / F {GEQ(/)} T′⑦| ? ⑧ F - i {PUSH(i)} ⑨ | ( E ) ⑩ 4. LL(1)分析表 ⑥ * ⑦ / ⑩ ⑤ ① ( ⑧ ④ ) ⑤ T ⑧ ⑧ ⑧ T` ⑨ F ④ ③ ② E` ① E # - + i 【例6.13】a+b*c# 四元式 LL(1)法翻译过程: SEM[m] QT[q] 操作 w x SYN[n] #E a E PUSH①R # E`T T a PUSH⑤R T`F #E` F a PUSH⑨R #E`T` PUSH(a)a a a #E`T`PUSH(a) + NEXT(w) a #E`T` T` + a PUSH⑧R #E` E` + PUSH②R a # E`GEQ(+)T+ + + a NEXT(w) b #E`GEQ(+)T T PUSH⑤R a #E`GEQ(+) T`F F b PUSH⑨R a 接下页 【例6.9】a+b*c# 四元式 LL(1)法翻译过程(续1): SEM[m] QT[q] 操作 w x SYN[n] #E`GEQ(+)T` PUSH(b)b b b NEXT(w) a #E`GEQ(+)T`PUSH(b) * a b #E`GEQ(+)T` * T` ab PUSH⑥R #E`GEQ(+) T`GEQ(*)F* * ab * NEXT(w) c #E`GEQ(+)T`GEQ(*)F ab F PUSH⑨R #E`GEQ(+)T`GEQ(*) c ab PUSH(c) c c NEXT(w) # ab #E`GEQ(+)T`GEQ(*) PUSH(c) c #E`GEQ(+)T`GEQ(*) # abc (1) (*b,c,t1) # E`GEQ(+) T` # a T` # E`GEQ(+) # a t1 (2) (+a,t1,t2) # E` t2 # E` # # t2 ok 接上页 t1 PUSH⑧R PUSH④R 6.4.3 LR()法四元式翻译器构造 1. 设置 2. 属性翻译文法设计 语义栈:SEM[m] 四元式区:QT[q] 语法栈:SYN[n] ; Z-E 0 E-E + T{GEQ(+)} ① | T ② T-T * F{GEQ(*)} ③ | F ④ F-i{PUSH(i)} ⑥ | ( E ) ⑤ 3. LR() 分析器的扩展 ※ LR()分析表中的 r(i) 执行下述两种操作: ① 首先执行动作符号(翻译函数); ② 然后执行归约操作(按产生式 i 归约)。 动作符号一定在最右侧 I1:Z ? E ? E ? E ? + T I4:E? T ? T? T ? * F I7:T ? F ? I9:F? ( ? E) E? ? E + T E? ? T T? ? T * F T? ? F F? ?(E) F? ? i I8:F ? i ? I0:Z? ? E E ? ? E + T E ? ? T T ? ? T * F T ? ? F F ? ? (E) F ? ? i I5:T? T * ? F F? ? (E)
您可能关注的文档
最近下载
- 导学案:1.3位置变化快慢的描述—速度.docx VIP
- 2024监理规范知识竞赛练习试题及答案.doc VIP
- 1-3位置变化快慢的描述 速度 【解析版】(人教版2019).doc VIP
- 5.1《倍的认识》课件(共23张PPT) 人教版 三年级上册数学.pptx VIP
- 冀教版小学数学四年级下册【全册】课时练+单元测试卷(含答案).pdf VIP
- 2024威海热电集团有限公司招聘试题及答案解析.docx
- 课时1.3 位置变化快慢的描述—速度(练习)-高中物理同步(人教版2019必修第一册).docx VIP
- HG/T 20275-2017 - 化工设备工程施工及验收规范.pdf VIP
- hg20675-1990t化工企业静电接地设计规程.(完整).doc VIP
- 2025上饶市四股桥乡“回村任职大学生” 选聘考试备考题库及答案解析.docx VIP
文档评论(0)