%var-ref to kercase

svn: r1289
This commit is contained in:
Matthew Flatt 2005-11-11 21:38:26 +00:00
parent c198298d25
commit 6071787e52
4 changed files with 13 additions and 3 deletions

View File

@ -370,7 +370,6 @@
(quasisyntax/loc stx (set! x #,(loop #'e)))
(quasisyntax/loc stx
(#,set-stx #,id #,(add-identifier/pos (apply-certs certs #'x) li trans?) #,(loop #'e))))]
#;
[(#%variable-reference e)
(add-literal stx li)]
[(if e ...)

View File

@ -1657,6 +1657,8 @@
b))
var)))
(define dummy 'dummy) ; for #%variable-reference
(define (make-parse top?)
(lambda (stx env trans? in-module? tables)
(kernel-syntax-case stx trans?
@ -1673,6 +1675,9 @@
[(#%datum . val)
(make-object constant% (syntax-object->datum (syntax val)) stx)]
[(#%variable-reference . val)
(make-object constant% (#%variable-reference dummy) stx)]
[(define-values names rhs)
(make-object variable-def%
(syntax->list (syntax names))

View File

@ -152,6 +152,7 @@
[(quote-syntax _) (syntax (begin e expr))]
[(#%datum . d) (syntax (begin e expr))]
[(#%top . d) (syntax (begin e expr))]
[(#%variable-reference . d) (syntax (begin e expr))]
;; No tail effect, and we want to account for the time
[(lambda . _) (syntax (begin0 expr e))]
@ -349,6 +350,9 @@
[(#%datum . _)
;; no error possible
expr]
[(#%variable-reference . _)
;; no error possible
expr]
;; Can't put annotation on the outside
[(define-values names rhs)

View File

@ -18,7 +18,8 @@
if #%app
define-values define-syntaxes define-values-for-syntax
module #%plain-module-begin require provide
require-for-syntax require-for-template))
require-for-syntax require-for-template
#%variable-reference))
(if trans? module-transformer-identifier=? module-identifier=?)
clause ...))])))
@ -41,7 +42,8 @@
with-continuation-mark
#%app
#%top
#%datum)))
#%datum
#%variable-reference)))
(provide kernel-syntax-case
kernel-form-identifier-list))