Special values are now supported.

This commit is contained in:
Jens Axel Søgaard 2012-07-01 23:16:12 +02:00
parent a97815258a
commit 6edd14cd23

View File

@ -45,7 +45,7 @@
(prefix-in : parser-tools/lex-sre)
syntax/readerr)
(define-tokens value-tokens (NUMBER STRING IDENTIFIER IDENTIFIEROP IDENTIFIER:=))
(define-tokens value-tokens (NUMBER STRING IDENTIFIER IDENTIFIEROP IDENTIFIER:= SPECIAL))
(define-empty-tokens
op-tokens
(newline
@ -83,7 +83,8 @@
(define expression-lexer
(lexer-src-pos
[(eof) (token-EOF)]
[(eof) (token-EOF)]
[(special) (token-SPECIAL lexeme)]
[(:or #\tab #\space #\newline) ; this skips whitespace
(return-without-pos (expression-lexer input-port))]
[#\newline (token-newline)] ; (token-newline) returns 'newline
@ -296,6 +297,7 @@
[(NUMBER) (b o $1 1 1)]
[(IDENTIFIER) (prec IDENTIFIER) (b o $1 1 1)]
[(STRING) (b o $1 1 1)]
[(SPECIAL) (b o $1 1 1)]
[(parenthensis-exp) $1])
(construction-exp