编译过程概述

编译:源程序(高级/汇编)→编译器 →目标机器代码程序(二进制)

并行编译的应用:OpenMP   Hadoop  MPI并行程序设计:基于消息传递

1、什么是编译程序?

翻译程序:源语言(高级语言/汇编语言)=>邓海军的目标语言  (汇编语言,机器)

编译程序:高级语言 => 目标语言(汇编或者机器语言)   (C java )  

汇编程序:汇编语言 => 机器语言

解释程序:源语言程序作为输入,边解释边执行或将源程序翻译成某种中间代码的形式后再加以运行(basic  和 python  )

编译过程概述_第1张图片

2、编译过程概述

  • 词法分析:识别单词
  • 语法分析:语法规则(程序,语句,表达式等)
  • 语义分析:语义检查;类型搜集(类型检查,变量声明,类型是否一致,变量是否有值)
  • 中间代码生成:此时源程序变成了中间代码。(四元式:运算符,运算对象1,运算对象2,结果)
  • 代码优化:优化器
  • 目标代码生成:中间代码=>机器可以识别的代码

编译过程概述_第2张图片

目标代码:①汇编代码②二进制代码③内存形式:load and go 

符号表:收集符号属性信息,语法的合法性信息,目标代码生成阶段地址分配依据

错误检测程序:检测错误。

 

你可能感兴趣的:(编译原理)