编译原理(Compiler Principles)

理解编译器的工作原理,掌握词法分析、语法分析等核心概念

📚 核心内容

1. 编译原理概述

  • 编译器的基本概念
  • 编译过程(词法分析、语法分析、语义分析、代码生成)
  • 编译器与解释器
  • 编译器工具链

2. 词法分析

  • 词法分析器的功能
  • 正则表达式
  • 有限自动机(DFA、NFA)
  • 词法分析器实现
  • 词法分析工具(Lex、Flex)

3. 语法分析

  • 语法分析器的功能
  • 上下文无关文法(CFG)
  • 自顶向下分析(递归下降、LL)
  • 自底向上分析(LR、SLR、LALR)
  • 语法分析工具(Yacc、Bison)

4. 语义分析

  • 语义分析的功能
  • 符号表管理
  • 类型检查
  • 作用域分析
  • 语义错误处理

5. 代码生成

  • 目标代码生成
  • 中间代码生成
  • 代码优化
  • 寄存器分配
  • 指令选择

6. 解释器与编译器

  • 解释器的工作原理
  • 编译器 vs 解释器
  • JIT 编译
  • 虚拟机

🔗 相关链接

📖 学习资源

  • 《编译原理》(龙书)
  • 《现代编译器实现》(虎书)
  • 《编程语言实现模式》

学习目标:理解编译器的工作原理,能够实现简单的编译器或解释器