diff --git a/beautiful-racket-demo/basic-demo-2/parse-only.rkt b/beautiful-racket-demo/basic-demo-2/parse-only.rkt new file mode 100644 index 0000000..b81ea53 --- /dev/null +++ b/beautiful-racket-demo/basic-demo-2/parse-only.rkt @@ -0,0 +1,14 @@ +#lang br/quicklang +(require "parser.rkt" "tokenizer.rkt") + +(define (read-syntax path port) + (define parse-tree (parse path (make-tokenizer port path))) + (strip-bindings + #`(module basic-parser-mod basic-demo-2/parse-only + #,parse-tree))) +(module+ reader (provide read-syntax)) + +(define-macro (parser-only-mb PARSE-TREE) + #'(#%module-begin + 'PARSE-TREE)) +(provide (rename-out [parser-only-mb #%module-begin])) \ No newline at end of file diff --git a/beautiful-racket-demo/basic-demo-2/parse-stx.rkt b/beautiful-racket-demo/basic-demo-2/parse-stx.rkt new file mode 100644 index 0000000..60e7347 --- /dev/null +++ b/beautiful-racket-demo/basic-demo-2/parse-stx.rkt @@ -0,0 +1,15 @@ +#lang br/quicklang +(require "parser.rkt" "tokenizer.rkt") + +(define (read-syntax path port) + (define parse-tree (parse path (make-tokenizer port path))) + (strip-bindings + #`(module basic-parser-mod basic-demo-2/parse-stx + #'#,parse-tree))) +(module+ reader (provide read-syntax)) + +(define-macro (parser-only-mb PARSE-STX) + #'(#%module-begin + PARSE-STX)) +(provide (rename-out [parser-only-mb #%module-begin])) +(provide syntax) \ No newline at end of file