--- t.t.old 2017-05-18 10:13:35.000000000 +0200 +++ t.t 2017-05-18 10:14:16.000000000 +0200 @@ -1217,7 +1217,7 @@ gen(CG_JMPFALSE, 0); xrparen(); stmt(); - ie (alt) do + if (alt) do gen(CG_JUMPFWD, 0); swap(); gen(CG_RESOLV, 0); @@ -1225,9 +1225,6 @@ T := scan(); stmt(); end - else if (T = KELSE) do - aw("ELSE without IE", 0); - end gen(CG_RESOLV, 0); end @@ -1370,6 +1367,8 @@ if_stmt(1); else ie (T = KIF) if_stmt(0); + else ie (T = KELSE) + aw("ELSE without IE", 0); else ie (T = KLEAVE) leave_stmt(); else ie (T = KLOOP)