[gforth] / gforth / parsedto.fs  

gforth: gforth/parsedto.fs


1 : pazsan 1.1 \ -> (to/is replacement) recognizer
2 :    
3 :     \ Copyright (C) 2012 Free Software Foundation, Inc.
4 :    
5 :     \ This file is part of Gforth.
6 :    
7 :     \ Gforth is free software; you can redistribute it and/or
8 :     \ modify it under the terms of the GNU General Public License
9 :     \ as published by the Free Software Foundation, either version 3
10 :     \ of the License, or (at your option) any later version.
11 :    
12 :     \ This program is distributed in the hope that it will be useful,
13 :     \ but WITHOUT ANY WARRANTY; without even the implied warranty of
14 :     \ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 :     \ GNU General Public License for more details.
16 :    
17 :     \ You should have received a copy of the GNU General Public License
18 :     \ along with this program. If not, see http://www.gnu.org/licenses/.
19 :    
20 :     ' (int-to) ' (comp-to) ' lit, recognizer: r:to
21 :    
22 :     : to-recognizer ( addr u -- xt r:to | addr u r:fail )
23 :     2dup s" ->" string-prefix? 0= IF r:fail EXIT THEN
24 :     2dup 2 /string dup 0= IF 2drop r:fail EXIT THEN
25 :     find-name dup 0= IF drop r:fail EXIT THEN
26 :     name>comp drop nip nip r:to ;
27 :    
28 :     ' to-recognizer
29 :     forth-recognizer get-recognizers
30 :     1+ forth-recognizer set-recognizers

CVS Admin

Powered by ViewCVS 1.0-dev
(Powered by ViewCVS)

ViewCVS and CVS Help