Follow-up Comment #2, bug #56406 (project gforth):

Another way to express this:

: a if begin repeat ;

is a standard program, so Gforth as a standard system must accept it.

Why is it standard?  The standard says:

IF ( C: -- orig )
BEGIN ( C: -- dest )

So after BEGIN the control-flow stack contains ( orig dest ).  The standard
also says:

REPEAT ( C: orig dest -- )

So REPEAT just consumes these two control-flow stack items, and there is no
type mismatch or control-flow stack imbalance that would constitute an error.

What does A mean?  It means the same as:

: a if begin again then ;

This is not the most useful program, but it is also standard.

    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?56406>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/


_______________________________________________
bug-gforth mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-gforth

Reply via email to