面试问题浓缩总结 面试问题浓缩总结
  • Go
  • Java
  • C/C++
  • JavaScript/HTML
  • MySQL
  • Redis
  • MongoDB
  • 操作系统
  • 计算机网络
  • spring全家桶
  • mybatis
  • 中间件
  • 软件相关
  • 系统相关
  • 算法
  • 数据结构
  • 设计模式
  • CMU硕士经典100题
  • 剑指offer
  • 重点手撕代码
  • 程序员面试金典
  • 3月
  • 4月
  • 智力题
  • 业务问题
  • 一些技术
  • 安全相关
APP下载 (opens new window)
GitHub (opens new window)
  • Go
  • Java
  • C/C++
  • JavaScript/HTML
  • MySQL
  • Redis
  • MongoDB
  • 操作系统
  • 计算机网络
  • spring全家桶
  • mybatis
  • 中间件
  • 软件相关
  • 系统相关
  • 算法
  • 数据结构
  • 设计模式
  • CMU硕士经典100题
  • 剑指offer
  • 重点手撕代码
  • 程序员面试金典
  • 3月
  • 4月
  • 智力题
  • 业务问题
  • 一些技术
  • 安全相关
APP下载 (opens new window)
GitHub (opens new window)
  • Go

    • 编译原理
      • 基本概念
      • 编译原理
    • 数据结构
    • 语言基础
    • 常用关键字
    • 并发编程
    • 内存管理
    • 元编程
    • 标准库
    • 其他
    • 面试问题
  • JAVA

  • C、C++语言

  • JavaScript和HTML

  • Android相关

  • 程序语言
  • Go
小游
2021-03-20

编译原理

# 基本概念

抽象语法树

是源代码语法的结构的一种抽象表示,它用树状的方式表示编程语言的语法结构1 (opens new window)。抽象语法树中的每一个节点都表示源代码中的一个元素,每一棵子树都表示一个语法元素,

静态单赋值

静态单赋值 (opens new window)(Static Single Assignment、SSA)是中间代码的特性,如果中间代码具有静态单赋值的特性,那么每个变量就只会被赋值一次2 (opens new window)。

指令集

不同的机器有不同的指令集,包括复杂指令集合精简指令集

# 编译原理

因为这东西说起来比较复杂,我还没研究完,直接说一下大致流程

  1. 词法与语法分析
  2. 类型检查
  3. 中间代码生成
  4. 机器码生成

深入参考Go 语言编译过程概述 | Go 语言设计与实现 (draveness.me) (opens new window)

编辑 (opens new window)
上次更新: 2021/03/25, 23:10:37
数据结构

数据结构→

Theme by Vdoing | Copyright © 2021-2021 小游
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式