在三个地址代码中,一个分支只能有一个二元关系运算符,
例如
if x relop y goto L1, where relop is (!=,==,>,>=,<,<=)
以下如何表示为三地址代码格式:
j = 0
while(j < 10 || j < 20)
{
System.out.println(i);
j++;
}
这是我的解决方案,显然是不正确的:
main:
j = 1
sum = 0
L2:
if j < 10 || j < 20 goto L3
goto L4
L3:
mt2 = sum + 1
sum = mt2
mt3 = j + 1
j = mt3
goto L2
L4:
sum = 2