diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ChangeLog | 7 | ||||
-rw-r--r-- | src/interp/fnewmeta.lisp | 13 | ||||
-rw-r--r-- | src/interp/parsing.lisp | 4 |
3 files changed, 14 insertions, 10 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index c46d300c..9cda9837 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,12 @@ 2010-12-08 Gabriel Dos Reis <gdr@cs.tamu.edu> + * interp/fnewmeta.lisp: Replace MATCH-ADVANCE-GLYPH with + PARSE-GlyphTok. + (PARSE-GlyphTok): Now accept string instead of symbol. + * interp/parsing.lisp (MATCH-ADVANCE-GLYPH): Remove as redundant. + +2010-12-08 Gabriel Dos Reis <gdr@cs.tamu.edu> + * interp/fnewmeta.lisp (PARSE-OpenBracket): Tidy. (PARSE-OpenBrace): Likewise. diff --git a/src/interp/fnewmeta.lisp b/src/interp/fnewmeta.lisp index e22af1f9..ae518dcd 100644 --- a/src/interp/fnewmeta.lisp +++ b/src/interp/fnewmeta.lisp @@ -337,10 +337,10 @@ (MATCH-KEYWORD-NEXT "catch") (ACTION (ADVANCE-TOKEN)) (ACTION (ADVANCE-TOKEN)) - (MUST (MATCH-ADVANCE-GLYPH "(")) + (MUST (|PARSE-GlyphTok| "(")) (MUST (|PARSE-QuantifiedVariable|)) (MUST (MATCH-ADVANCE-SPECIAL ")")) - (MUST (MATCH-ADVANCE-GLYPH "=>")) + (MUST (|PARSE-GlyphTok| "=>")) (MUST (|PARSE-Expression|)) (PUSH-REDUCTION '|PARSE-Catch| (CONS (POP-STACK-2) @@ -400,7 +400,7 @@ (DEFUN |PARSE-Seg| () - (AND (|PARSE-GliphTok| '|..|) + (AND (|PARSE-GlyphTok| "..") (BANG FIL_TEST (OPTIONAL (|PARSE-Expression|))) (PUSH-REDUCTION '|PARSE-Seg| (CONS 'SEGMENT @@ -772,7 +772,7 @@ (OPTIONAL (AND (STAR REPEATOR (|PARSE-Sexpr1|)) (OPTIONAL - (AND (|PARSE-GliphTok| '|.|) + (AND (|PARSE-GlyphTok| ".") (MUST (|PARSE-Sexpr1|)) (PUSH-REDUCTION '|PARSE-Sexpr1| (NCONC (POP-STACK-2) (POP-STACK-1)))))))) @@ -785,9 +785,10 @@ (ACTION (ADVANCE-TOKEN)))) -(DEFUN |PARSE-GliphTok| (|tok|) +(DEFUN |PARSE-GlyphTok| (|tok|) (DECLARE (SPECIAL |tok|)) - (AND (MATCH-CURRENT-TOKEN 'GLIPH |tok|) (ACTION (ADVANCE-TOKEN)))) + (AND (MATCH-CURRENT-TOKEN 'GLIPH (INTERN |tok|)) + (ACTION (ADVANCE-TOKEN)))) (DEFUN |PARSE-AnyId| () diff --git a/src/interp/parsing.lisp b/src/interp/parsing.lisp index 9dfe1d02..7f923a61 100644 --- a/src/interp/parsing.lisp +++ b/src/interp/parsing.lisp @@ -211,10 +211,6 @@ the stack, then stack a NIL. Return the value of prod." (and (match-token (current-token) 'keyword (intern str)) (action (advance-token)))) -(defun match-advance-glyph (str) - (and (match-token (current-token) 'gliph (intern str)) - (action (advance-token)))) - (defun match-advance-special (str) (and (match-token (current-token) 'special-char (character str)) (action (advance-token)))) |