【问题标题】:How is source code of a high-level language converted into machine code?高级语言的源代码如何转换成机器码?
【发布时间】:2018-01-23 10:49:20
【问题描述】:

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

【问题讨论】:

    标签: compilation code-generation lexical-analysis


    【解决方案1】:

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

    1. 扫描仪 - 读取源文件并对其进行标记
    2. 分析 - 语法是否更正?
    3. 解析器 - 从令牌形式生成 AST
    4. 分析 - 结构在语义上是否正确?
    5. 发射器 - 从 AST 生成机器代码

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

    【讨论】:

      猜你喜欢
      • 2014-09-17
      • 2019-02-01
      • 2017-06-17
      • 2011-01-29
      • 2011-01-11
      • 1970-01-01
      • 2013-02-15
      • 2022-11-16
      • 1970-01-01
      相关资源
      最近更新 更多