I. Definitions


1. 编译器 Compiler

“高级” 语言 ⇒ (通常) “低级” 语言

Untitled

<aside> 🔑 语言类应用程序

2. 解释器 Interpreter

II. Structure


Untitled

<aside> 💡 Frontend → 分析部分:跟机器无关

Untitled

<aside> 💡 Backend → 综合部分:跟机器相关

根据中间表示和符号表信息构造目标程序

</aside>

Untitled

III. Phases


1. 词法分析/扫描 Lexical analysis/scanning

词法分析器 (Lexer/Scanner): 将字符流转化为词法单元 (token) 流。

$$ \textrm{ token : ⟨ token-class, attribute-value ⟩} $$

  1. 读入源程序的字符流,输出为有意义的词素 Lexeme