Hugely improved conditional compilation
Hugely improved conditional compilation

Major rework of an aspect of muforth that has been bothering me. And in
its previous state it was also not compatible with changes I was
planning to make to the interpreter structure - in fact, it was
incompatible - in a sense - with the -existing- interpreter structure!

It was also ugly code.

It's much better now, and the words are renamed - but only in startup. I
need to go thru and change all uses of conditionals in the target
compilers, etc... those changes are -not- part of this checkin!

Name changes:

  [if]    ->  .if
  [else]  ->  .else
  [then]  ->  .then

I removed [with] and added

  .ifdef <symbol>
  .ifndef <symbol>

with the obvious semantics.

Nested conditionals work as always, and the code is much more readable
and understandable, and it doesn't use awful globals or clobber the
interpreter state!

nickhen/muforth,nickhen/muforth