% % backtrack within this tree level to the prior proc ('else') % _\ dup % % stack: ifelse-node proc-search % { Tree.Prev( ? dup !\ *gleancls { % % this is the closing proc brace, now find matching open brace % dup % % stack: if-node close-proc open-search % { Tree.Prev( ? dup !\ *gleanopn { % % have both braces for proc % delete the ifelse and the close brace % % stack: if-node close-proc open-brace % third Mep.Remove second Mep.Remove "else" dup "Type" \! dup "Data" \! "Else" *gleanimg !\\ pop3 % % backtrack within this tree level to the prior proc ('then') % _\ dup % % stack: else-node proc-search % { Tree.Prev( ? dup !\ *gleancls { % % this is the closing proc brace, now find matching open brace % dup % % stack: else-node close-proc open-search % { Tree.Prev( ? dup !\ *gleanopn { % % have both braces for proc % delete the close brace % % stack: else-node close-proc open-brace % second Mep.Remove "ifthen" dup "Type" \! dup "Data" \! !\\ pop2 % % stack: % true ???? } if } loop pop2 } if } loop pop true ?? } if } loop pop2 } if } loop pop