2 个月前 笔记

编译型语言执行代码前的三个阶段

  1. 分词/词法分析(Tokenizing/Lexing)

  2. 解析/语法分析(Parsing)

  3. 代码生成

分词/词法分析

这个阶段会将代码字符串分解成有意义的代码块(词法单元,Token)。

例如 var a = 10,词法分析器会将它分解成:

var(关键字)、a(标识符)、=(赋值操作符)、10(数字)。

解析/语法分析

语法分析的任务是在词法分析的基础上将词法单元数组组合成各类语法短语(抽象语法树 Abstract Syntax Tree,AST),如“程序”,“语句”,“表达式”等等,语法分析程序判断源程序在结构上是否正确。

代码生成

将 AST 转化为一组机器指令,让计算机能够执行它。这个过程和平台语言相关。