Diff for /gforth/kernel/recognizer.fs between versions 1.17 and 1.20

version 1.17, 2012/05/28 14:15:04 version 1.20, 2012/06/23 23:20:23
Line 1 Line 1
 \ recognizer-based interpreter                       05oct2011py  \ recognizer-based interpreter                       05oct2011py
   
   \ Copyright (C) 2012 Free Software Foundation, Inc.
   
   \ This file is part of Gforth.
   
   \ Gforth is free software; you can redistribute it and/or
   \ modify it under the terms of the GNU General Public License
   \ as published by the Free Software Foundation, either version 3
   \ of the License, or (at your option) any later version.
   
   \ This program is distributed in the hope that it will be useful,
   \ but WITHOUT ANY WARRANTY; without even the implied warranty of
   \ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   \ GNU General Public License for more details.
   
   \ You should have received a copy of the GNU General Public License
   \ along with this program. If not, see http://www.gnu.org/licenses/.
   
 \ Recognizer are words that take a string and try to figure out  \ Recognizer are words that take a string and try to figure out
 \ what to do with it.  I want to separate the parse action from  \ what to do with it.  I want to separate the parse action from
 \ the interpret/compile/postpone action, so that recognizers  \ the interpret/compile/postpone action, so that recognizers
Line 25 Line 42
   
 : lit, ( n -- ) postpone Literal ;  : lit, ( n -- ) postpone Literal ;
 : nt, ( nt -- ) name>comp execute ;  : nt, ( nt -- ) name>comp execute ;
 : nt-ex ( nt -- )  r> >l name>int execute @local0 >r lp+ ;  : nt-ex ( nt -- )
       [ cell 1 floats - dup [IF] ] lp+!# [ dup , [THEN] drop ]
       r> >l name>int execute @local0 >r lp+ ;
   
 ' nt-ex  ' nt-ex
 ' nt,  ' nt,
Line 112  Variable forth-recognizer Line 131  Variable forth-recognizer
   
 : postpone ( "name" -- ) \ core  : postpone ( "name" -- ) \ core
     \g Compiles the compilation semantics of @i{name}.      \g Compiles the compilation semantics of @i{name}.
     parse-name forth-recognizer do-recognizer >postpone ; immediate      parse-name forth-recognizer do-recognizer >postpone
   ; immediate restrict
   

Removed from v.1.17  
changed lines
  Added in v.1.20


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>