         Edinburgh IMP77 Compiler - Version 8.4
    1 %begin
				NO_APP
		.Ltext0:
				.align	2
				.globl	main
		main:
		.LFB185:
		.LVL0:
		 		link.w %fp,#0
    2   %integer cond
		 		move.l 12(%fp),-(%sp)
		 		move.l 8(%fp),-(%sp)
		 		jsr _imp_initialise
		.LVL1:
		.LDL1:
		.LDL2:
		.LDL3:
		.LDL4:
		.LDL5:
		.LBB4:
		.LBB5:
		 		clr.l -(%sp)
		 		jsr exit
		.LVL2:
		.LBE5:
		.LBE4:
		.LFE185:
		.Letext0:
    3   cond = 1
    4   !
    5   %if cond # 0 %start
    6     %if cond # 1 %start { generated dangling else error until fixed with extra bracketing }
    7       cond = 4
    8     %finish
    9   %finishelsestart
   10     cond = 3
   11   %finish
   12
   13   ! Same logic but tortured expression of it...
   14   ! this one *would* have still generated dangling else error
   15   ! *IF* the then/else reversal were working as it should! (which it isn't)
   16
   17   %if cond # 0 %start
   18     %if cond = 1 %start
   19     %finishelse cond = 4
   20   %finishelsestart
   21     cond = 3
   22   %finish
   23
   24   ! Let's test the simple reversal on its own...
   25   %if cond = 1 %start
   26   %finishelse cond = 4
   27
   28 %endofprogram
   19 Statements compiled
