[honu] define parsing macro in the transformer phase. also provide a bunch of things from main

This commit is contained in:
Jon Rafkind 2011-11-17 23:34:25 -07:00
parent 70589a7033
commit 23cbc505cc
2 changed files with 22 additions and 4 deletions

View File

@ -3,10 +3,14 @@
(require "private/honu-typed-scheme.rkt"
"private/honu2.rkt"
"private/macro2.rkt"
(for-syntax (only-in "private/macro2.rkt" honu-syntax))
(for-syntax "private/honu2.rkt")
(for-syntax (only-in "private/macro2.rkt" honu-syntax mergeSyntax))
"private/class.rkt"
(for-meta 2 (prefix-in racket: racket/base))
(for-syntax (prefix-in racket: racket/base))
(for-syntax (prefix-in class: syntax/parse))
(for-syntax (only-in "private/parse2.rkt" honu-expression honu-identifier))
(for-syntax (prefix-in literal: "private/literals.rkt"))
(prefix-in literal: "private/literals.rkt"))
(provide #%top
@ -14,7 +18,16 @@
print printf true false
(for-syntax (rename-out [honu-expression expression]
[honu-identifier identifier]
[honu-syntax syntax]))
[honu-function function]
[literal:#%parens #%parens]
[literal:#%braces #%braces]
[literal:#%brackets #%brackets]
[literal:honu-comma %comma]
[honu--> %arrow]
[honu-syntax syntax])
(rename-out [racket:#%datum #%datum])
withSyntax
mergeSyntax)
(rename-out [#%dynamic-honu-module-begin #%module-begin]
[honu-top-interaction #%top-interaction]
[honu-with-input-from-file with_input_from_file]
@ -23,6 +36,7 @@
[honu-function function]
[honu-require require]
[honu-macro macro]
[define-make-honu-operator operator]
[honu-syntax syntax]
[honu-while while]
[honu-match match]

View File

@ -8,8 +8,11 @@
"literals.rkt"
"parse2.rkt"
"debug.rkt"
"compile.rkt"
racket/base)
(for-meta 2 syntax/parse
racket/base
"parse2.rkt"
"compile.rkt")
"literals.rkt"
#;
(for-syntax "honu-typed-scheme.rkt")
@ -45,10 +48,11 @@
[(thing:pattern-type ...)
(filter (lambda (x) (syntax-e x)) (syntax->list #'(thing.result ...)))]))
(begin-for-syntax
(define-syntax (parse-stuff stx)
(syntax-parse stx
[(_ stuff ...)
(honu->racket (parse-all #'(stuff ...)))]))
(honu->racket (parse-all #'(stuff ...)))])))
(provide honu-macro)
(define-honu-syntax honu-macro