编译

编译

编译(compilation , compile) 1、利用 编译程序从源语言编写的 源程序产生 目标程序的过程。 2、用 编译程序产生 目标程序的动作。 编译就是把高级语言变成计算机可以识别的2进制语言,计算机只认识1和0, 编译程序把人们熟悉的语言换成2进制的。 编译程序把一个 源程序翻译成 目标程序的工作过程分为五个阶段: 词法分析语法分析;语义检查和 中间代码生成代码优化目标代码生成。主要是进行 词法分析语法分析,又称为 源程序分析,分析过程中发现有语法错误,给出提示信息。
编译语言是一种以 编译器来实现的 编程语言。它不像 直译语言一样,由解释器将代码一句一句运行,而是以编译器,先将 代码编译为 机器码,再加以运行。理论上,任何编程语言都可以是编译式,或直译式的。它们之间的区别,仅与程序的应用有关。 [1]  
中文名
编译
外文名
compilation
学    科
计算机科学
用    途
编译程序
解    释
编写的 源程序产生 目标程序的过程
领    域
编译原理

编译编译程序

将某一种程序设计语言写的程序翻译成等价的另一种语言的程序的程序, 称之为编译程序(compiler) . [2]  

编译词法分析

词法分析的任务是对由 字符组成的单词进行处理,从左至右逐个字符地对源 程序进行扫描,产生一个个的单词符号,把作为字符串的 源程序改造成为单词符号串的中间程序。执行词法分析的 程序称为词法 分析程序或扫描器。
源程序中的单词符号经扫描器分析,一般产生二元式:单词种别;单词自身的值。单词种别通常用整数编码,如果一个种别只含一个单词符号,那么对这个单词符号,种别编码就完全代表它自身的值了。若一个种别含有许多个单词符号,那么,对于它的每个单词符号,除了给出种别编码以外,还应给出自身的值。
词法分析器一般来说有两种方法构造:手工构造和自动生成。手工构造可使用 状态图进行工作,自动生成使用确定的有限 自动机来实现。 [3]  

编译语法分析

编译程序语法分析器以单词符号作为输入,分析单词符号串是否形成符合 语法规则的语法单位,如 表达式、赋值、循环等,最后看是否构成一个符合要求的程序,按该语言使用的语法规则分析检查每条语句是否有正确的 逻辑结构,程序是最终的一个语法单位。 编译程序语法规则可用 上下文无关文法来刻画。
语法分析的方法分为两种:自上而下分析法和自下而上分析法。自上而下就是从文法的开始符号出发,向下推导,推出句子。而自下而上分析法采用的是移进 归约法,基本思想是:用一个寄存符号的先进后 出栈,把输入符号一个一个地移 进栈里,当栈顶形成某个产生式的一个候选式时,即把栈顶的这一部分归约成该产生式的左邻符号。

编译中间代码

中间代码是 源程序的一种内部表示,或称 中间语言。中间代码的作用是可使 编译程序的结构在逻辑上更为简单明确,特别是可使 目标代码的优化比较容易实现中间代码,即为 中间语言程序,中间语言的复杂性介于 源程序语言和 机器语言之间。 中间语言有多种形式,常见的有逆 波兰记号、 四元式、三元式和树。

编译代码优化

代码优化是指对 程序进行多种等价 变换,使得从变换后的程序出发,能生成更有效的 目标代码。所谓等价,是指不改变 程序的运行结果。所谓有效,主要指 目标代码运行时间较短,以及占用的 存储空间较小。这种变换称为优化。
有两类优化:一类是对 语法分析后的 中间代码进行优化,它不依赖于具体的计算机;另一类是在生成 目标代码时进行的,它在很大程度上依赖于具体的计算机。对于前一类优化,根据它所涉及的 程序范围可分为局部优化、循环优化和全局优化三个不同的级别。

编译目标代码

目标代码生成是编译的最后一个阶段。 目标代码生成器把 语法分析后或优化后的 中间代码变换成目标代码。 目标代码有三种形式:
① 可以立即执行的 机器语言代码,所有地址都 重定位
② 待装配的 机器语言模块,当需要执行时,由连接装入 程序把它们和某些运行 程序连接起来,转换成能执行的机器语言代码;
汇编语言代码,须经过 汇编程序汇编后,成为可执行的 机器语言代码。
目标代码生成阶段应考虑直接影响到目标代码速度的三个问题:一是如何生成较短的目标代码;二是如何充分利用计算机中的寄存器,减少目标代码访问 存储单元的次数;三是如何充分利用计算机 指令系统的特点,以提高目标代码的质量。

编译表格管理

编译过程中 源程序的各种信息被保留在种种不同的表格,编译各阶段的工作都涉及到 构造、查找、或更新有关的表格。
编译程序的公共辅助部分。对源程序中的各种量进行管理,登记在相应的表格。编译程序处理时通过查表得到所需的信息。 [2]  

编译出错处理

如果编译过程中发现 源程序有错误, 编译程序应报告错误的性质和错误的发生的地点,并且将错误所造成的影响限制在尽可能小的范围内,使得源程序的其余部分能继续被编译下去,有些编译程序还能自动纠正错误,这些工作由错误处理程序完成。
需要注意的是,一般上 编译器只做 语法检查和最简单的语义检查,而不检查 程序的逻辑。
参考资料
词条标签:
科学百科信息科学分类 中国电子学会 科学 学科
数据治理是确保数据准确性、可靠性、安全性、可用性和完整性的体系和框架。它定义了组织内部如何使用、存储、保护和共享数据的规则和流程。数据治理的重要性随着数字化转型的加速而日益凸显,它能够提高决策效率、增强业务竞争力、降低风险,并促进业务创新。有效的数据治理体系可以确保数据在采集、存储、处理、共享和保护等环节的合规性和有效性。 数据质量管理是数据治理中的关键环节,它涉及数据质量评估、数据清洗、标准化和监控。高质量的数据能够提升业务决策的准确性,优化业务流程,并挖掘潜在的商业价值。随着大数据和人工智能技术的发展,数据质量管理在确保数据准确性和可靠性方面的作用愈发重要。企业需要建立完善的数据质量管理和校验机制,并通过数据清洗和标准化提高数据质量。 数据安全与隐私保护是数据治理中的另一个重要领域。随着数据量的快速增长和互联网技术的迅速发展,数据安全与隐私保护面临前所未有的挑战。企业需要加强数据安全与隐私保护的法律法规和技术手段,采用数据加密、脱敏和备份恢复等技术手段,以及加强培训和教育,提高安全意识和技能水平。 数据流程管理与监控是确保数据质量、提高数据利用率、保护数据安全的重要环节。有效的数据流程管理可以确保数据流程的合规性和高效性,而实时监控则有助于及时发现并解决潜在问题。企业需要设计合理的数据流程架构,制定详细的数据管理流程规范,并运用数据审计和可视化技术手段进行监控。 数据资产管理是将数据视为组织的重要资产,通过有效的管理和利用,为组织带来经济价值。数据资产管理涵盖数据的整个生命周期,包括数据的创建、存储、处理、共享、使用和保护。它面临的挑战包括数据量的快速增长、数据类型的多样化和数据更新的迅速性。组织需要建立完善的数据管理体系,提高数据处理和分析能力,以应对这些挑战。同时,数据资产的分类与评估、共享与使用规范也是数据资产管理的重要组成部分,需要制定合理的标准和规范,确保数据共享的安全性和隐私保护,以及建立合理的利益分配和权益保障机制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值