Added ... auxilary kwd

This commit is contained in:
Abdulaziz Ghuloum 2007-08-28 11:34:13 -04:00
parent 8e4adec147
commit 905b6c96c6
4 changed files with 56 additions and 48 deletions

Binary file not shown.

View File

@ -1063,6 +1063,8 @@
"~s is not a record of type ~s" "~s is not a record of type ~s"
x ',rtd))))) x ',rtd)))))
setters i*))))]))) setters i*))))])))
(define incorrect-usage-macro
(lambda (e) (stx-error e "incorrect usage of auxilary keyword")))
(define parameterize-transformer ;;; go away (define parameterize-transformer ;;; go away
(lambda (e r mr) (lambda (e r mr)
(syntax-match e () (syntax-match e ()
@ -1553,18 +1555,20 @@
[(procedure? x) x] [(procedure? x) x]
[(symbol? x) [(symbol? x)
(case x (case x
[(define-record) define-record-macro] [(define-record) define-record-macro]
[(include) include-macro] [(include) include-macro]
[(cond) cond-macro] [(cond) cond-macro]
[(let) let-macro] [(let) let-macro]
[(do) do-macro] [(do) do-macro]
[(or) or-macro] [(or) or-macro]
[(and) and-macro] [(and) and-macro]
[(let*) let*-macro] [(let*) let*-macro]
[(syntax-rules) syntax-rules-macro] [(syntax-rules) syntax-rules-macro]
[(quasiquote) quasiquote-macro] [(quasiquote) quasiquote-macro]
[(with-syntax) with-syntax-macro] [(with-syntax) with-syntax-macro]
[(identifier-syntax) identifier-syntax-macro] [(identifier-syntax) identifier-syntax-macro]
[(...) incorrect-usage-macro]
[(=>) incorrect-usage-macro]
[else (error 'macro-transformer "invalid macro ~s" x)])] [else (error 'macro-transformer "invalid macro ~s" x)])]
[else (error 'core-macro-transformer "invalid macro ~s" x)]))) [else (error 'core-macro-transformer "invalid macro ~s" x)])))
(define (local-macro-transformer x) (define (local-macro-transformer x)

View File

@ -108,7 +108,9 @@
[cond (macro . cond)] [cond (macro . cond)]
[do (macro . do)] [do (macro . do)]
[and (macro . and)] [and (macro . and)]
[or (macro . or)])) [or (macro . or)]
[... (macro . ...)]
))
(define library-legend (define library-legend
'([i (ikarus) #t] '([i (ikarus) #t]
@ -194,41 +196,43 @@
(define ikarus-macros-map (define ikarus-macros-map
'([define i r] '([define i r]
[define-syntax i r] [define-syntax i r]
[let-syntax i r] [let-syntax i r]
[letrec-syntax i r] [letrec-syntax i r]
[module i cm] [module i cm]
[begin i r] [begin i r]
[import i] [import i]
[set! i r] [set! i r]
[foreign-call i] [foreign-call i]
[quote i r] [quote i r]
[syntax-case i syncase] [syntax-case i syncase]
[syntax i syncase] [syntax i syncase]
[lambda i r] [lambda i r]
[case-lambda i r] [case-lambda i r]
[type-descriptor i ] [type-descriptor i ]
[letrec i r] [letrec i r]
[letrec* i r] [letrec* i r]
[if i r] [if i r]
[when i r] [when i r]
[unless i r] [unless i r]
[parameterize i parameters] [parameterize i parameters]
[case i r] [case i r]
[let-values i r] [let-values i r]
[define-record i r] [define-record i r]
[include i r] [include i r]
[syntax-rules i r] [syntax-rules i r]
[quasiquote i r] [quasiquote i r]
[with-syntax i syncase] [with-syntax i syncase]
[let i r] [let i r]
[identifier-syntax i r] [identifier-syntax i r]
[let* i r] [let* i r]
[cond i r] [cond i r]
[do i r] [do i r]
[and i r] [and i r]
[or i r])) [or i r]
[... i r]
))
(define ikarus-procedures-map (define ikarus-procedures-map
'([void i] '([void i]

View File

@ -230,7 +230,7 @@
[vector-set! C ba] [vector-set! C ba]
[vector? C ba] [vector? C ba]
[zero? C ba] [zero? C ba]
[... S ba sc] [... C ba sc]
[=> S ba ex] [=> S ba ex]
[_ S ba sc] [_ S ba sc]
[else S ba ex] [else S ba ex]