version 1.2, 2011/10/05 20:56:45
|
version 1.4, 2011/10/05 21:06:11
|
Line 53 recognizer: r:2number
|
Line 53 recognizer: r:2number
|
THEN |
THEN |
drop 2r> false ; Constant num-recognizer |
drop 2r> false ; Constant num-recognizer |
|
|
|
' no.extensions dup 2dup recognizer: r:fail |
|
|
\ recognizer stack |
\ recognizer stack |
|
|
$10 Constant max-rec# |
$10 Constant max-rec# |
Line 77 num-recognizer int-recognizer 2 forth-re
|
Line 79 num-recognizer int-recognizer 2 forth-re
|
dup cell+ swap @ cells bounds ?DO |
dup cell+ swap @ cells bounds ?DO |
I perform IF UNLOOP EXIT THEN |
I perform IF UNLOOP EXIT THEN |
cell +LOOP |
cell +LOOP |
no.extensions ; |
r:fail ; |
|
|
: interpreter-r ( addr u -- ... xt ) |
: interpreter-r ( addr u -- ... xt ) |
forth-recognizer do-recognizer r>int @ ; |
forth-recognizer do-recognizer r>int @ ; |
Line 93 num-recognizer int-recognizer 2 forth-re
|
Line 95 num-recognizer int-recognizer 2 forth-re
|
\G Enter compilation state. |
\G Enter compilation state. |
['] compiler-r IS parser1 state on ; |
['] compiler-r IS parser1 state on ; |
|
|
|
: postpone ( "name" -- ) \ core |
|
\g Compiles the compilation semantics of @i{name}. |
|
parse-name forth-recognizer do-recognizer >r |
|
r@ r>lit perform r> r>comp @ compile, ; immediate |
|
|