我正在研究一個與編譯器設計相關的項目。我需要爲基於Java的語言生成三個地址代碼,這意味着使用對象和範圍。我想如果你能幫助我產生TAC以下示例(或參考我的教程):面向對象的三位地址碼生成
class A {
int x;
String y;
public A(int x, String y) {
this.x = x;
this.y = y;
}
}
import A;
class B {
int f;
A foo;
public B() {
this.foo = null;
this.f = -1;
}
public boolean createFoo() {
this.foo = new A(0, "TAC Example");
return true;
}
public static void main() {
B bar = new B();
A baz = new A(666, "TAC generation");
bar.createFoo();
bar.foo.y = "Hello World";
if(bar.foo.x == 666)
return;
bar.foo.x = baz.x;
}
}
我能完成我的項目。不管怎麼說,還是要謝謝你。只是一個評論......類似於「TAC生成」的字符串我在堆內存中逐字節地分配字節。 – 2013-06-25 17:18:31
幹得好。我很高興我的幫助。問候。 – 2013-06-25 18:39:42
僅供參考,StackOverflow禮儀可以「接受」您的問題的最佳答案,以便答案的作者爲他的努力獲得信譽積分。 – 2013-10-11 16:39:28