Annotation of gforth/quotedstring.fs, revision 1.2
1.1 pazsan 1: \ Quoted string 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: : slit, postpone sliteral ;
21:
22: ' noop ' slit, dup recognizer: r:string
23:
24: : string-recognizer ( addr u -- addr u' r:string | addr u r:fail )
25: 2dup s\" \"" string-prefix?
26: IF drop source drop - 1+ >in ! \"-parse save-mem r:string
27: ELSE r:fail THEN ;
28:
29: ' string-recognizer
30: forth-recognizer get-recognizers
31: 1+ forth-recognizer set-recognizers
1.2 ! pazsan 32:
! 33: : slit. slit, postpone type ;
! 34:
! 35: ' type ' slit. ' slit, recognizer: r:."
! 36:
! 37: : ."-recognizer ( addr u -- addr u' r:." | addr u r:fail )
! 38: 2dup ".\"" string-prefix?
! 39: IF drop source drop - 2 + >in ! \"-parse save-mem r:."
! 40: ELSE r:fail THEN ;
! 41:
! 42: ' ."-recognizer
! 43: forth-recognizer get-recognizers
! 44: 1+ forth-recognizer set-recognizers
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>