【问题标题】:Definition of a compiler pipeline编译器管道的定义
【发布时间】:2011-07-19 05:19:40
【问题描述】:

谁能用抽象的方式向我解释这个术语,然后给我一个小例子,它是如何工作的。在我看来,这与编译器的前端和后端以及各个阶段的执行方式有关。我很难用我自己的话来描述它。

感谢您的回复 马蒂亚斯

【问题讨论】:

    标签: compiler-construction terminology


    【解决方案1】:

    编译器执行语言转换:输入是语言 A,输出是语言 B(通常对语言类型和转换结果有一些要求)。为了做到这一点,输入经过编译器内部的各个阶段 - 这些阶段形成了管道。
    最常用的划分包括 3 个阶段:前端 - 中端 - 后端
    前端负责解析输入语言并执行语法和语义检查(以确保输入程序符合语言规范 A),然后将其转换为中间语言。中间端采用中间表示,通常对其执行几个(与语言无关的)优化步骤(尽管可以跳过该步骤)。中间端完成后,中间语言转换后的程序被传递到后端,后端将其转换为语言 B 通常还执行一些特定于语言 B 的优化。
    这三个阶段中的每一个都包含几个步骤。所有的东西一起构成了编译器的管道,因为它基本上是程序如何流经被转换的系统。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-30
      • 1970-01-01
      • 1970-01-01
      • 2019-02-11
      • 1970-01-01
      • 2012-07-16
      • 2013-01-15
      • 2020-07-01
      相关资源
      最近更新 更多