В трехадресном коде ветвь может иметь только бинарный реляционный оператор,
например,
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