编译原理

编译器概述

  • 计算机科学史上的第一个编译器Fortran语言编译器(1954 ~ 1957,John Backus)

编译器结构

编译原理
编译原理
编译原理

词法分析器

实现方案

  • 手工编码实现
    • 相对复杂,容易出错
    • 目前流行的实现方法,GCC,LLVM,…
  • 词法分析器的生成器
    • 可以快速原型,代码量较少
    • 但较难控制细节

转移图

  • 算法转移图
  • 标识符转移图
  • 关键字转移图
  • 关键字表算法

自动生成

编译原理

正则表达式

编译原理
编译原理

有限状态自动机(FA)

  • NFA:非确定状态机,对任意字符,最多有一个状态可以转移
  • DFA:确定状态机,对任意字符,有多于一个状态可以转移
    编译原理