《【精品】【考研计算机专业课】天津大学 编译原理讲义 第五章语法制导翻译与中间代码生成精品ppt课件.ppt》由会员分享,可在线阅读,更多相关《【精品】【考研计算机专业课】天津大学 编译原理讲义 第五章语法制导翻译与中间代码生成精品ppt课件.ppt(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【考研计算机专业课】天津大学 编译原理讲义 第五章语法制导翻译与中间代码生成形式语义学形式语义学:程序语言的形式化描述。程序语言的形式化描述。1962年美国斯坦福大学麦克阿瑟教授系统地论述了程序设年美国斯坦福大学麦克阿瑟教授系统地论述了程序设计语言语义形式化的重要性。计语言语义形式化的重要性。根据形式化的侧重面和所使用的数学工具的不同,形式根据形式化的侧重面和所使用的数学工具的不同,形式语义学可分成三类语义学可分成三类:操作语义学操作语义学:着重模拟数据加工过程中计算机系统的操作。着重模拟数据加工过程中计算机系统的操作。指称语义学指称语义学:主要描述数据加工的结果而不是加工过程的细节。主要描述
2、数据加工的结果而不是加工过程的细节。公理语义学公理语义学:用公理化的方法描述程序对数据的加工。用公理化的方法描述程序对数据的加工。所谓所谓语法制导翻译语法制导翻译,直观上说就是为每个产生式配上一个翻,直观上说就是为每个产生式配上一个翻译子程序译子程序(称称语义动作语义动作或或语义子程序语义子程序),并且在语法分析的同,并且在语法分析的同时执行它。时执行它。语义动作,一方面规定了产生式产生的符号串的意义,另一语义动作,一方面规定了产生式产生的符号串的意义,另一方面又按照这种意义规定了生成中间代码应做的基本动作。方面又按照这种意义规定了生成中间代码应做的基本动作。所以语法制导翻译的所以语法制导翻译
3、的含义含义是是:在语法分析过程中,当一个产在语法分析过程中,当一个产生式获得匹配生式获得匹配(自上而下分析自上而下分析)和用于归约和用于归约(自下而上分析自下而上分析)时,时,此产生式对应的语义子程序进入工作,完成既定翻译任务,此产生式对应的语义子程序进入工作,完成既定翻译任务,产生中间代码。产生中间代码。目前大多数编译程序普遍采用一种方法,即目前大多数编译程序普遍采用一种方法,即语法制导翻译方语法制导翻译方法法。虽然它不是一种形式系统,但它还是比较接近形式化的。虽然它不是一种形式系统,但它还是比较接近形式化的。例例,文法,文法EE+E|E*E|i|i(1)EE+E E.val=E(1).val+E(2).val(2)EE*E E.val=E(1).val*E(2).val(3)Ei E.val=i 计算计算 5+7*9本章介绍的内容是本章介绍的内容是:语法制导翻译的基本思想语法制导翻译的基本思想 几种典型的中间代码几种典型的中间代码 类型检查的基本原理类型检查的基本原理 各种语言成分的自下而上分析的各种语言成分的自下而上分析的制导翻译制导翻译