Red编译器阅读笔记(2)
程序员文章站
2023-12-25 21:00:33
...
高级程序设计语言生成的中间代码一般有两种:基于栈的和基于寄存器的。 一般来说,基于寄存器的实现方式比较高效,因为我们现实中的机器基本上都是使用基于寄存器的指令集,所以从高级语言映射到机器码会相对容易和高效。但是采用基于寄存器的方式,完成同一
高级程序设计语言生成的中间代码一般有两种:基于栈的和基于寄存器的。
一般来说,基于寄存器的实现方式比较高效,因为我们现实中的机器基本上都是使用基于寄存器的指令集,所以从高级语言映射到机器码会相对容易和高效。但是采用基于寄存器的方式,完成同一个命令,需要使用较多的指令,实现上会比较复杂。
Red也是使用了基于栈的方式来实现运行时的。下面的PPT展示了各个操作的执行过程。
PPT: Red Call Stack (可能需*,这应该难不倒作为程序员的聪明的你吧!)
推荐阅读
-
Red编译器阅读笔记(2)
-
CI框架源码阅读笔记2 一切的入口 index.php
-
笔记 - C#从头开始构建编译器 - 2
-
Red/System编译器实现分析(2)
-
阅读笔记(2)——IP层的分用(ICMP) -
HBASE 代码阅读笔记-1 - PUT操作客户端主流程(基于0.96.0-hadoop2)
-
HBASE 代码阅读笔记-1 - PUT-3-提交任务1 (0.96-HADOOP2) hbase0.96hadoop2
-
HBASE 代码阅读笔记-1 - PUT-2-定位RS和R-1(0.96-HADOOP2)
-
CI框架源码阅读笔记2 一切的入口 index.php,ciindex.php
-
Mina源码阅读笔记(四)—Mina的连接IoConnector2