第十一卷
编译原理与形式语言
从形式语言、词法与语法分析一路走到中间表示、优化和代码生成。
在语言工坊里,你们比较了不同语言的选择;来到编译高塔,任务变成亲手解释这些选择如何落地。一个源文件要经过识别、解析、检查、变换和生成,才能成为机器执行的程序,每一步都有清晰的输入、输出和错误边界。
旅程位置:数学瞭望塔 → 编译高塔(把语言规则变成执行过程)→ 数据预言厅
前置要求
需要系统基础(Vol 3),了解 C 语言和基本数据结构。
完成标志:理解乔姆斯基谱系、DFA/NFA、CFG、图灵机;能实现词法/语法分析器;理解代码生成流程。
Part 1: 形式语言理论
第1章 形式语言与自动机概述 已完成
乔姆斯基谱系四层、文法定义、语言即字符串集合。
第2章 DFA/NFA 与正则语言 已完成
状态图、子集构造法、Thompson 构造法。
第3章 上下文无关文法与下推自动机 已完成
推导树、二义性消除、PDA 栈匹配、LL/LR。
第4章 图灵机与可计算性 已完成
TM 七要素、停机问题、归约、P/NP 直觉。
Part 2: 编译器实现
第5章 词法分析 已完成
手写 C 状态机、最长匹配、flex 规则、词法+语法协作。
第6章 语法分析与 AST 已完成
递归下降 C 代码、CST vs AST、LL vs LR。
第7章 语义分析与中间代码 已完成
符号表、类型检查、三地址码、SSA。
第8章 代码生成与优化 已完成
常量折叠/CSE、图着色寄存器分配、循环优化、JIT。
本卷共 8 章,当前拆分为 22 篇课时;专业内容初稿已完成,等待集中校验
完整课目
本卷按“章 → 编号课次”组织。8.1、8.2 这样的文件是第 8 章下连续的短课,不是两个重复章节。