我正在尝试将 Java 转换为中间语言,并且正在弄清楚中间语言是如何工作的。
我有原始的 Java 代码:http ://cs.ucla.edu/classes/spring11/cs132/cs132/mj/Factorial.java
我有中间代码表示(VAPOR):http ://cs.ucla.edu/classes/spring11/cs132/kannan/vapor-examples/Factorial.vapor
这是另一组:在 Java 中:http ://cs.ucla.edu/classes/spring11/cs132/cs132/mj/BubbleSort.java
在 VAPOR 中:http ://cs.ucla.edu/classes/spring11/cs132/kannan/vapor-examples/BubbleSort.vapor
我的问题是,所有的 VAPOR 代码都有t.0 = HeapAllocZ(x)
(在哪里x
)int
。我想知道转换器如何确定堆大小需要为 size x
。在Factorial.vapor
中,它设置为4
。在BubbleSort.vapor
中,它设置为12
。
谢谢!