语法制导翻译语法制导翻译静态语义分析这一步才真正开始考虑程序设计语言的实际意义静态语义分析的作用:检查出源程序中的静态语义错误并且将语义正确的语句翻译成中间代码该过程中通常使用的方法是语法制导翻译1由苏州翻译公司推荐2第四章语法制导翻译生成中间代码第四章语法制导翻译生成中间代码语法制导翻译是处理语义的基本方法,它以语法分析为基础,在语法分析得到语言结构的结果时,对附着于此结构的语义进行处理,如计算表达式的值、生成中间代码等
主要内容包括:1
语法制导翻译的基本概念2
中间代码简介3
符号表简介4
典型声明语句与可执行语句的翻译34
1语法制导翻译简介4
1语法制导翻译简介语法与语义1
语法与语义的关系语法是指语言的结构、即语言的“样子”;语义是指附着于语言结构上的实际含意,即语言的“意义”
①语义不能离开语法独立存在;②语义远比语法复杂;③同一语言结构可包含多种含意,不同语言结构可表示相同含意;④语法与语义之间没有明确的界线
[例1]猫吃老鼠与老鼠吃猫,晒被子与晒太阳(语法正确不一定语义正确)44
1语法制导翻译简介4
1语法制导翻译简介2
语义分析的两个作用①检查是否结构正确的句子所表示的意思也合法;②执行规定的语义动作,如:表达式求值符号表填写中间代码生成等3
语义分析的方法语法制导翻译基本思想:将语言结构的语义以属性的形式赋予代表此结构的文法符号,而属性的计算以语义规则的形式赋予由文法符号组成的产生式,在语法分析推导或者规约的每一步骤中,通过语义规则实现对属性的计算
1语法制导翻译简介4
1语法制导翻译简介属性与语义规则1
语法制导翻译的基本思想为每个产生式配上语义规则并且在适当的时候执行这些规则具体方法:①将文法符号所代表的语言结构的意思,用附着于该文法符号的属性表示;②用语义规则规定产生式所代表的语言结构之间的关系(即属性之间的关系),即用