如何将高级语言的源代码转换为机器代码?

时间:2018-01-23 10:49:21

标签: compilation code-generation lexical-analysis

我正在学习计算机课程中的编译过程,并且我理解三个编译阶段的基本功能。 (语义,语法和词法分析)。但我并不完全理解他们的所作所为。如python等高级语言如何转换为机器代码?

1 个答案:

答案 0 :(得分:0)

非常简单,一般来说 :编译器经常分解成许多组件,每个组件将其预期输入转换为下一个组件的预期状态,直到产生目标结果。以下是通过这些转换的基本高级路径:

  1. 扫描程序 - 读取并标记源文件
  2. 分析 - 语法是否已更正?
  3. Parser - 从令牌表单生成AST
  4. 分析 - 构造在语义上是否正确?
  5. 发射器 - 从AST生成机器代码
  6.   

    注意:步骤可以有所不同,模块化可能会有所不同,符号树在哪里   建造可能会有所不同,AST的种类可能会有所不同,所以研究这些   区域独立。