1. 概述
    1. 编译原理是什么
    2. 编译过程和编译程序结构
    3. 编译技术应用发展
  2. PL0程序
    1. PLO编译程序
    2. 类PCCODE代码
    3. 类PCCODE解释程序
  3. 词法分析
    1. 词法分析程序
    2. 正规表达式与正规集
    3. 有穷自动机
    4. 词法分析程序自动构造
  4. 文法和语言
    1. 文法和语言的形式定义
      1. 语言是由句子组成的集合,一组符号所构成的集合
    2. 文法的类型
    3. 上下文无关文法及其语法树
    4. 上下文无关文法的句型分析
      1. 完成句型分析的程序称为分析程序和识别程序
      2. 分析算法称为识别算法
        1. 从左到右的分析算法
        2. 自上而下分析法
        3. 自下而上分析法
  5. LL(1)文法及其分析程序
    1. 预测分析程序
    2. LL(1)文法
      1. FIRST集合FOLLOW集定义和计算
      2. LL(1)文法定义
        1. FIRST集合FOLLOW集的∩为空
        2. 文法性质
          1. 无二义的
          2. 不含左递归
      3. LL(1)分析程序的生成
    3. 非LL(1)文法的构造
      1. 消除左递归
      2. 提左公因子
  6. LR分析程序及其自动构造
    1. 自下而上分析及其LR分析概述
      1. 最右推导
      2. 规范推导
      3. 规范归约
      4. 特征
        1. 规范的
        2. 符号栈中的符号是规范句型的前缀
        3. 分析决策依据栈顶状态和现行输入符号
    2. LR(0)分析
      1. 存在FA识别活前缀
      2. LR(0)项目集规范族的构造
      3. LR(0)分析表的构造
      4. 活前缀与句柄的关系
        1. 活前缀已含有句柄的全部符号,表面产生式出现
        2. 活前缀只含句柄的一部分符号,期待输入
        3. 活前缀不含句柄的任何符号,期望右部所推出的符号串
    3. SLR(1)分析
    4. LR(1)分析
    5. LALR分析
    6. 使用二义文法
  7. 语法制导翻译和中间代码生成
    1. 概述
      1. 语法分析后的源程序进行语义处理
        1. 文法模型
        2. 命令式或操作式模型
        3. 应用式模型
        4. 语义
    2. 属性文法和语法制导翻译
      1. 属性文法
        1. G一个上下文无关文法
        2. V有穷的属性集
        3. F:关于属性的属性断言
        4. 属性分类:综合属性和继承属性
      2. 语法制导翻译
      3. 属性计算顺序
        1. S属性--适用于自底向上的计算
        2. L属性-适用于自顶向下的分析,也可用于自底向上
    3. 语义分析
      1. 类型检查
        1. 辨认语言中可用的类型
        2. 辨认具有类型的语言结构
        3. 辨认语言的语义规则
      2. 控制流检查
      3. 一致性检查
      4. 相关名字检查
      5. 名字的作用域分析
    4. 中间代码
    5. 一些语句的翻译
  8. 符号表
    1. 符号表的作用和地位
      1. 在编译程序中用来存放语言程序中出现的有关标识符的属性信息
      2. 语义分析中,符号表所登记的内容将用于语义检查
      3. 目标代码生成阶段,符号表是地址分配的依据
      4. 每一项即名字栏和信息栏
        1. 信息栏包含许多子栏和标志位,用来记录相应名字和种种不同属性
        2. 名字栏也称主栏,主栏内容为关键字
        3. 操作
          1. 对给定名字,查询名字是否已在表中
          2. 往表中填入一个新的名字
          3. 对给定名字,访问它的某些信息
          4. 对给定名字,填写或更新它的某些信息
          5. 删除一个或一组无用的项
    2. 符号表的主要属性及作用
      1. 属性
        1. 符号名
        2. 符号的类型
        3. 符号的存储类别
        4. 符号的作用域及可视性
        5. 符号变量的存储分配信息
        6. 符号的其他属性
          1. 数组内情向量
          2. 记录结构型成员信息
          3. 函数及过程的形参
    3. 符号表的组织
      1. 把属性种类完全相同的那些符号组织在一起
      2. 把所有语言中的符号都组织在一张符号表中
      3. 根据符号属性相似程度分类组织成若干张表
      4. 经编译头三阶段后所产生的主要表格
        1. 符号名表SNT
        2. 常数表CT
        3. 入口名表ENT
        4. 标号表LT
        5. 四元式表QT
      5. 三种构造方法
        1. 线性法
        2. 二分法
        3. 散列法
      6. 分程序结构的符号表
        1. 对每个分程序建立一个独立的分表结构的符号表
        2. 把各分程序符号组织在一张单表结构的符号表中