编译原理(Compiler Principles)
理解编译器的工作原理,掌握词法分析、语法分析等核心概念
📚 核心内容
1. 编译原理概述
- 编译器的基本概念
- 编译过程(词法分析、语法分析、语义分析、代码生成)
- 编译器与解释器
- 编译器工具链
2. 词法分析
- 词法分析器的功能
- 正则表达式
- 有限自动机(DFA、NFA)
- 词法分析器实现
- 词法分析工具(Lex、Flex)
3. 语法分析
- 语法分析器的功能
- 上下文无关文法(CFG)
- 自顶向下分析(递归下降、LL)
- 自底向上分析(LR、SLR、LALR)
- 语法分析工具(Yacc、Bison)
4. 语义分析
- 语义分析的功能
- 符号表管理
- 类型检查
- 作用域分析
- 语义错误处理
5. 代码生成
- 目标代码生成
- 中间代码生成
- 代码优化
- 寄存器分配
- 指令选择
6. 解释器与编译器
- 解释器的工作原理
- 编译器 vs 解释器
- JIT 编译
- 虚拟机
🔗 相关链接
📖 学习资源
- 《编译原理》(龙书)
- 《现代编译器实现》(虎书)
- 《编程语言实现模式》
学习目标:理解编译器的工作原理,能够实现简单的编译器或解释器