Annotation of gforth/quotedstring.fs, revision 1.3
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:
1.3 ! pazsan 33: 0 [IF] \ dot-quoted strings, we don't need them
1.2 pazsan 34: : slit. slit, postpone type ;
35:
36: ' type ' slit. ' slit, recognizer: r:."
37:
38: : ."-recognizer ( addr u -- addr u' r:." | addr u r:fail )
39: 2dup ".\"" string-prefix?
40: IF drop source drop - 2 + >in ! \"-parse save-mem r:."
41: ELSE r:fail THEN ;
42:
43: ' ."-recognizer
44: forth-recognizer get-recognizers
1.3 ! pazsan 45: 1+ forth-recognizer set-recognizers
! 46: [THEN]
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>