尚品中国签约天津阿童木机器人品牌网站建设项目

类型:科技 | 产品 了解更多

代码的生成

来源:尚品中国| 类型:网站百科| 时间:2015-03-31
北京网站建设里包括了代码,代码生成是把语法、语义分析后的中间结果(中同语言)转换成等价的目标程序或目的程序摸块的过程。词法分析、语法分析和语义分析一起称为编译系统的前端.属于分析部分。代码生成和码优化一起称为编译系统的后端,属于综合部分。中间结果是用三元式、四元式或逆波兰式等中间语育表示的程序。目标程序是用目标语言书写的;可以是机器语言、汇编语言乃至高级语言,随着计算机编译环境积执行环境的不断完善,不仅能产生可直接执行的目标程序,也能生成可再定位或可连接的目标程序模块.并最终通过连接装入程序构成可直接执行的目标程序。代码生成不但与编译环境有关.而且与运行环境有关。所有生成的目标程序成当符合连接装入所要求的规范。代码生成中存储分配和寄存器分配是直接影响目标程序功效的重要且复杂的问题,应给予足够的重视。
 
代码的生成

运行时存储空间组织与管理是一个复杂而十分重要的问题,首先要了解一个过程(procedure)静态源程序和它的目标程序在运行时的活动之间的关系。一个过程的活动指的是该过程的一次执行。为了管理过程在一次执行中所需要的信息.使用一个连续的存储块,我们把这样的一个连续存储块称为活动记录。活动记录中记录临时单元、内情向量、局部变量、形式单元、静态链、动态链和返回地址。

存储分田策略有三种:静态分配、栈式动态分配和堆式动态分配。栈(stack)是一个特定的存储区,它的一端是固定的,另端是浮动的.对这个存储区.所有的信息存入也称为堆阵式堆栈。栈的概念在编译技术和其他软件技术中被广泛应用。堆(heap)是一个特定的存储区.其分配使用方法是先把它成若干个长度可变的子存储区,有些用干存入数据.有些供自由使用.当创建一片数据时.便需从自由公用区中选出一个足够大自由区,把该数据存人。当该数据不再箭用时,便释放相应的存区.这佯的存储分配方式称为堆式分配。堆式分配适用干理序运中长度可变的数据.如USP语育中的表等.

代玛生成时,帝首先考虑奸相应干每个镣程序或中间捏序的句的目标程序结构,然后一对多地转换过去。其中还可能有些地事先不知道,可先待定,记下位置,拉上蛙,以后知泪了再回缀。为7生成更有效的目标代玛.还有一个要重点考虑的问题是女何更有效地利用寄存器。另外.地址计算、数组引用等也都有不同,就不在此逐一叙述。
来源声明:本文章系尚品中国编辑原创或采编整理,如需转载请注明来自尚品中国。以上内容部分(包含图片、文字)来源于网络,如有侵权,请及时与本站联系(010-60255689)。
TAG标签:

免责声明

非常感谢您访问我们的网站。在您使用本网站之前,请您仔细阅读本声明的所有条款。

1、本站部分内容来源自网络,涉及到的部分文章和图片版权属于原作者,本站转载仅供大家学习和交流,切勿用于任何商业活动。

2、本站不承担用户因使用这些资源对自己和他人造成任何形式的损失或伤害。

3、本声明未涉及的问题参见国家有关法律法规,当本声明与国家法律法规冲突时,以国家法律法规为准。

4、如果侵害了您的合法权益,请您及时与我们,我们会在第一时间删除相关内容!

联系方式:010-60255689
电子邮件:394588593@qq.com

现在就与专业咨询顾问沟通!

北京010-60259772

天津022-58793660

信息保护中请放心填写
微信咨询:
北京
北京
天津
天津
咨询

免责声明

非常感谢您访问我们的网站。在您使用本网站之前,请您仔细阅读本声明的所有条款。

1、本站部分内容来源自网络,涉及到的部分文章和图片版权属于原作者,本站转载仅供大家学习和交流,切勿用于任何商业活动。

2、本站不承担用户因使用这些资源对自己和他人造成任何形式的损失或伤害。

3、本声明未涉及的问题参见国家有关法律法规,当本声明与国家法律法规冲突时,以国家法律法规为准。

4、如果侵害了您的合法权益,请您及时与我们,我们会在第一时间删除相关内容!

联系方式:010-60255689
电子邮件:394588593@qq.com