Compiler (3):翻译成中间代码

October 09, 2015
  • Java
  • Compiler
  • 由于源语言和目标语言一般有比较大的差别,因此直接把语法树翻译为目标语言中的合法程序通常是比较困难的。大多数编译器实现中所采取的做法是首先把源语言的程序翻译成一种相对接近目标语言的中间表示形式,然后再从这种中间表示翻译成目标代码。

    Compiler (2):语义分析

    October 04, 2015
  • Java
  • Compiler
  • YACC
  • LEX
  • 能够成功建立语法树只说明了所输入的 Decaf 源程序在格式上是合法的,但是要进行有效的翻译,编译器还需要了解这个程序每个语句的含义。了解程序含义的过程称为语义分析。