the Points of Compile Principle

  • 语法制导翻译——以语法分析为主导的语义处理,在对源程序进行语法分析的过程中嵌入语义动作
  • 源程序——>中间语言——>目标程序
  • 中间语言的好处
    • 重新生成目标代码容易
    • 目标代码更容易优化
  • 中间语言的形式
    • 逆波兰
    • 三元式
    • 四元式
  • YACC——是一个程序,它接受LALR文法类。语法分析程序
  • LEX——词法分析程序
  • 第一次采用形式体系方法定义语法规则的语言是ALGOL语言
  • 编译程序组成(8个)
    • 源程序
    • 词法分析
    • 语法分析
    • 语义分析
    • 中间代码
    • 代码优化
    • 目标代码
    • 目标程序
  • 汇编程序——把汇编代码翻译成机器语言的目标程序
  • 编译程序——高级语言的源程序翻译成目标程序
  • 解释程序——不是直接将高级语言翻译成目标程序后再执行,而是边翻译边执行
  • 自编译——高级语言与之对应的编译程序能用该语言本身写出来
  • 交叉编译——在A机器上运行,在B机器上产生目标代码
  • 移植——把一台计算机上的软件移植到另一台计算机上
  • 趟程——从头到尾扫描一遍源程序,并做加工处理
  • 自底向上语法分析,总控程序一样,只是分析表各不一样