语法制导翻译

编辑:遭殃网互动百科 时间:2020-01-27 21:45:36
编辑 锁定
《语法制导翻译》简称SDD。基于属性文法的处理过程,对单词符号串进行语法分析,构造语法分析树,然后根据需要构造属性依赖图,遍历语法树并在语法树的各结点处按语义规则进行计算。
中文名
语法制导翻译
简    称
SDD
翻译的任务
语义分析和正确性检查等
属性值分类
综合属性、继承属性

目录

语法制导翻译简介

编辑
翻译的任务:首先是语义分析和正确性检查,若正确,则翻译成中间代码或目标代码。
使用的方法称作语法制导翻译。基本思想是,根据翻译的需要设置文法符号的属性,以描述语法结构的语义。例如,一个变量的属性有类型,层次,存储地址等。表达式的属性有类型,值等。属性值的计算和产生式相联系。随着语法分析的进行,执行属性值的计算,完成语义分析和翻译的任务。
属性值根据计算的依赖关系分成不相交的两类:综合属性(synthesized attribute)和继承属性(inherited attribute)。在分析树中,一个结点的综合属性值是从其子结点的属性值计算出来的;而一个结点的继承属性值是由该结点兄弟结点和父结点的属性值计算出来的。一般来说,语义翻译可按图5.1 的流程处理。
实际上,编译中语义翻译的实现并不是按图5.1 的流程处理的;而是随语法分析的进展,识别出一个语法结构,就对它的语义进行分析和翻译。

语法制导翻译要求

编辑
要求:随着语法分析,分析树逐步被构造出来,进展到每一步,定义的文法符号的属性值是可以计算出来的。一个重要的属性定义类称作“L—属性”定义,满足上述要求。
词条标签:
理学 书籍