编译器常见架构

1 篇文章 0 订阅
1 篇文章 0 订阅

编译器是当今开发中常见的架构,通常包括以下几个部分:

 

1. Lexical Analyzer

2. Parser

3. Semantic Analysis

4. Code Generation (to IR)

5. Inliner / Very High Optimizer

6. Optimizer

7. Code Generator

 

他们包含以下内容

1. Lexical Analyzer 主要进行Token识别

2. Parser 进行语句识别,构建AST

3. Semantic Analysis 主要进行代码正确性,Type 检查

4. Inliner / Very High Optimizer 主要进行高级语言优化,内联优化

5. Optimizer 主要包含:

    - Scalar Optimization

      + CSE (Common Sub-expression elimination)

      + PRE (Partial Redundancy Elimination)

      + Constant Folding / Propagation

      + LNO (Loop Nest Optimization) ... 

      + DCE (Dead Code Elimination)

6. Code Generation 主要包含:

      + Register Allocation

      + Code rearranging

      + Machine code translation

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值