编译原理介绍

作用

把人类可读的高级语言转换成与之等价的低级语言,例如机器语言,汇编助记符等等

编译程序逻辑结构的五个阶段

  • 源语言
  • 词法分析
  • 语法分析
  • 语义分析
  • 优化处理
  • 目标代码生成
  • 目标语言

其中还要包括错误处理程序会符号表管理程序

词法分析 生成单词串token

语法分析生成 AST语法树

语义分析分析出 语义树或者中间代码

优化处理生成 优化语义树

目标代码生成汇编或者机器码

编译器前端

高级语言转换到中间代码表示

编译器后端

中间代码转换到目标平台语言

这是一个概念

指的是编译程序对源代码或者他的等价程序从头到尾扫描的次数

优化阶段

例如源代码中的一些可以立即计算出结果的常量表达式,可以在编译阶段计算出他的值,没必要生成汇编语句让CPU在执行阶段去计算

例如简单的乘以2的运算可以使用位移指令去执行,减少执行指令周期