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