摘要: Ocelot的中间代码是仿照国外编译器相关图书Modern Compiler Implementation 中所使用的名为Tree 的中间代码设计的。顾名思义,Tree 是一种树形结构,其特征是简单,而且方便转换为机器语言。 例如以下代码: 会被转换成如下的中间代码: 组成中间代码的类如表11.1 阅读全文
posted @ 2016-12-22 19:50 是非猫 阅读(452) 评论(0) 推荐(1) 编辑
摘要: 关于“静态类型检查”,想必使用C 或Java 的各位应该非常熟悉了。在此过程中将检查表达式的类型,发现类型不正确的操作时就会报错。例如结构体之间无法用+ 进行加法运算,指针和数值之间无法用* 进行乘法运算,将数组传递给参数类型为int 型的函数会出现莫名其妙的结果。在编译过程中检查是否符合这样的限制 阅读全文
posted @ 2016-12-22 19:44 是非猫 阅读(489) 评论(0) 推荐(0) 编辑