在我的 C 类编程语言中,我希望编译器解析 If-Else 括号。我有一些代码,例如:
if( varA == varB ) {
if ( varB == varC ) {
varA = 1;
} else {
varB = 1;
}
};
并希望它解析为此(虚构的汇编程序):
compare varA with varB
jump if equal to condition_2
jump to else_condition2 ; gets only executed if statement above does not get executed -> else
label condition_2:
compare varB with varC
jump if equal to if_bracket_1
jump to else_bracket_1
label if_bracket_1:
varA = 1;
jump to back_label
label else_bracket_1:
varB = 1;
jump to back_label
label else_condition2:
; nothing, because there is no else
label back_label:
nop ; continue main program here
我知道如何将条件解析为 jump-if-equal 等等,我知道解析方法将是递归的..但我不知道如何实现这个解析方法..我不需要代码,只需一个想法,如何管理这个。
谢谢你的帮助。