Factor out check for constant data into match-helper.ss

Use in parse-quasi and render-test-list-impl.

Add support for keywords.

svn: r3690
This commit is contained in:
Sam Tobin-Hochstadt 2006-07-12 19:08:55 +00:00
parent b42a11d12d
commit 1c46dde5dc
3 changed files with 9 additions and 9 deletions

View File

@ -25,6 +25,13 @@
(let-syntax ([id (syntax-rules () [(id arg) (syntax/loc stx arg)])])
e)]))
(define (constant-data? v)
(or
(string? v)
(boolean? v)
(char? v)
(number? v)
(keyword? v)))
;;!(function symbol-append

View File

@ -30,10 +30,7 @@
(syntax-case phrase (quasiquote unquote unquote-splicing)
(p
(let ((pat (syntax-object->datum (syntax p))))
(or (string? pat)
(boolean? pat)
(char? pat)
(number? pat)
(or (constant-data? pat)
(dot-dot-k? pat)))
(syntax p))
(p

View File

@ -200,11 +200,7 @@
;; This recognizes constants such strings
[pt
(let ([pt (syntax-e #'pt)])
(or (string? pt)
(boolean? pt)
(char? pt)
(number? pt)))
(constant-data? (syntax-e #'pt))
(list
(reg-test
`(equal? ,(syntax-object->datum ae)