local int a; local int indent; local int temp; indent := 0; while (!(isempty (output))) do begin a := pop(output); switch(gettype(a)) begin case "Instruction" then switch(a) begin case then print "\n"; break case then print "\t"; break case then print "\n"; temp := 0; while (temp < indent) do begin print "\t"; temp := temp+1; end; break case then indent := indent+1; break case then indent := indent - 1; break case <[SPECIAL> then print "\n"; break case then print "\n"; break default then break end; break default then print a; print " "; break end; end;