lreverse

运行存储分配

存储组织 一个目标程序运行所需的存储空间主要包括代码区、数据区 存储分配策略 静态存储分配 在编译时刻就可以确定大小的数据对象,可以在编译时刻就为它们分配存储空间 要尽可能多的将数据对象进行静态分配,因为这些对象的地址可以被编译到目标代码中 动态存储分配 对于不能在编译时完全确定数据对象的大小,需要在编译时...

中间代码生成

声明语句的翻译 主要任务:分析所声明id的种属、类型和地址,在符号表中为id建立一条记录 类型表达式:kind + type 类型的宽度:从类型表达式可以知道该类型在运行时刻所需的存储单元数量 所以,在编译时刻,可以使用类型的宽度为每一个名字分配一个相对地址 名字的类型和相对地址信息保存在相应的符号表记录中 类型表达式 基本类型表...

语法制导翻译

使用CFG来引导对语言的翻译,是一种面向文法的翻译技术。 语义翻译:语义分析、中间代码生成 语法制导翻译:语法分析、语义分析、中间代码生成 概述 基本思想 为CFG中的文法符号设置语义属性,用来表示语法成分对应的语义信息 对于给定的输入串,构建语法分析树,利用与产生式相关联的语义规则来计算分析树中各结点对应的语义属性值 语法制导定义(SDD) SDD是对CFG的推广 ...