编译程序的结构与编译过程

编译程序的结构与编译过程

  1. 词法分析
  2. 语法分析
  3. 语义分析与中间代码生成
  4. 代码优化
  5. 目标代码生成

词法分析

词法分析阶段的任务是对输入的符号串形式的源程序进行最初的加工处理.
依次扫描读入的源程序中的每个字符,识别出源程序中有独立意义的源语言单词, 用某种特定的数据结构对它的属性予以表示和标注.

语法分析

依据源语言的语法规则, 对词法分析的结果进行语法检查,并识别出单词符号串所对应的语法范畴, 类似于自然语言中对短语, 句子的识别和分析.

语义分析与中间代码生成

依据源语言限定的语义规则对语法分析所识别的语法范畴进行语义检查并分析其含义, 初步翻译成与其等价的中间代码. 语义分析是整个编译程序完成的最实质性的翻译任务.

代码优化

代码优化是为了改进目标代码的质量而在编译过程中进行的工作。其实质是在不改变源程序语义的基础上对其进行加工变换,以获得更高效率的目标代码。使目标程序缩短运行时间,节省存储空间。

目标代码生成

编译的最后阶段,该阶段的任务是,根据中间代码及编译过程中产生的各种表格的有关信息,最终生成所期望的目标代码程序。一般为特定机器的机器语言代码或汇编语言代码。

你不会不点赞就走吧~

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值