摘要:下面希赛小编为大家整理的软考程序员知识点程序语言基础知识之语法制导翻译,希望能帮助学友们。
2016下半年软考考前串讲网络班特惠开班!讲师解析知识点,赠送历年真题!
下面希赛小编为大家整理的软考程序员知识点程序语言基础知识之语法制导翻译,希望能帮助学友们。具体内容如下:
语法制导翻译
《语法制导翻译》简称SDT(Syntax-directed translation)。基于属性文法的处理过程,对单词符号串进行语法分析,构造语法分析树,然后根据需要构造属性依赖图,遍历语法树并在语法树的各结点处按语义规则进行计算。
简介
翻译的任务:首先是语义分析和正确性检查,若正确,则翻译成中间代码或目标代码。
使用的方法称作语法制导翻译。基本思想是,根据翻译的需要设置文法符号的属性,以描述语法结构的语义。例如,一个变量的属性有类型,层次,存储地址等。表达式的属性有类型,值等。属性值的计算和产生式相联系。随着语法分析的进行,执行属性值的计算,完成语义分析和翻译的任务。
属性值根据计算的依赖关系分成不相交的两类:综合属性(synthesized attribute)和继承属性(inherited attribute)。在分析树中,一个结点的综合属性值是从其子结点的属性值计算出来的;而一个结点的继承属性值是由该结点兄弟结点和父结点的属性值计算出来的。一般来说,语义翻译可按图5.1的流程处理。
实际上,编译中语义翻译的实现并不是按图5.1的流程处理的;而是随语法分析的进展,识别出一个语法结构,就对它的语义进行分析和翻译。
要求
要求:随着语法分析,分析树逐步被构造出来,进展到每一步,定义的文法符号的属性值是可以计算出来的。一个重要的属性定义类称作“L—属性”定义,满足上述要求。
希赛软考网,拥有十四年软考培训经验,希赛网一直坚持自主研发,将丰富的软考培训经验有效融入教程研发过程,自成体系的软考在线题库(软考历年真题)、软考培训教材和软考视频教程,多样的培训方式包括在线辅导、面授、和,使考生的学习更具系统性,辅导更具针对性。采用全程督学机制,,软考平均通过率在全国。
软考备考资料免费领取
去领取