--- gforth/kernel/recognizer.fs 2011/10/05 20:56:45 1.2 +++ gforth/kernel/recognizer.fs 2011/10/05 21:06:11 1.4 @@ -53,6 +53,8 @@ recognizer: r:2number THEN drop 2r> false ; Constant num-recognizer +' no.extensions dup 2dup recognizer: r:fail + \ recognizer stack $10 Constant max-rec# @@ -77,7 +79,7 @@ num-recognizer int-recognizer 2 forth-re dup cell+ swap @ cells bounds ?DO I perform IF UNLOOP EXIT THEN cell +LOOP - no.extensions ; + r:fail ; : interpreter-r ( addr u -- ... xt ) forth-recognizer do-recognizer r>int @ ; @@ -93,3 +95,8 @@ num-recognizer int-recognizer 2 forth-re \G Enter compilation state. ['] 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 +