\ standard { v0 v1 ... vn | l0 l1 .. lm -- } syntax
\ based on ANSI basis words (LOCAL) and TO
\ Copyright 1994 3DO, Phil Burk, Larry Polansky, Devid Rosenboom
\ The pForth software code is dedicated to the public domain,
\ and any third party may reproduce, distribute and modify
\ the pForth software code or any derivative works thereof
\ without any compensation or license. The pForth software
\ code is provided on an "as is" basis without any warranty
\ of any kind, including, without limitation, the implied
\ warranties of merchantability and fitness for a particular
\ purpose and their equivalents under the laws of any jurisdiction.
\ MOD: PLB 2/11/00 Allow EOL and \ between { }.
variable loc-temp-mode \ if true, declaring temporary variables
variable loc-comment-mode \ if true, in comment section
: { ( <local-declaration}> -- )
dup 0> \ make sure we are not at the end of a line
\ handle special characters
ascii } OF loc-done on 2drop ENDOF
ascii | OF loc-temp-mode on 2drop ENDOF
ascii - OF loc-comment-mode on 2drop ENDOF
ascii ) OF ." { ... ) imbalance!" cr abort ENDOF
ascii \ OF postpone \ 2drop ENDOF \ Forth comment
\ if in temporary mode, assign local var = 0
\ otherwise take value from stack
2drop refill 0= abort" End of input while defining local variables!"
: tlv1 { n -- } n dup n * dup n * ;
: tlv2 { v1 v2 | l1 l2 -- }