update bf

pull/2/head
Matthew Butterick 8 years ago
parent bc489f37ab
commit 37951c7198

@ -1,9 +1,6 @@
#lang br #lang br/quicklang
(define-macro (bf-module-begin SRC-EXPR ...) (provide #%module-begin)
#'(#%module-begin
SRC-EXPR ...))
(provide (rename-out [bf-module-begin #%module-begin]))
(define-macro (bf-program OP-OR-LOOP ...) (define-macro (bf-program OP-OR-LOOP ...)
#'(begin OP-OR-LOOP ...)) #'(begin OP-OR-LOOP ...))
@ -29,6 +26,4 @@
(define-macro (loop LOOP-ARG ...) (define-macro (loop LOOP-ARG ...)
#'(until (zero? (get-current-byte)) #'(until (zero? (get-current-byte))
LOOP-ARG ...)) LOOP-ARG ...))
(provide loop) (provide loop)
(provide #%top-interaction)

@ -1,12 +1,13 @@
#lang br #lang br/quicklang
(require parser-tools/lex brag/support) (require parser-tools/lex brag/support)
(define (tokenize input-port) (define (tokenize input-port)
(define (next-token) (define (next-token)
(define get-token (define get-token
(lexer-src-pos (lexer-src-pos
[(char-set "><-.,+[]") lexeme] [(char-set "><-.,+[]") lexeme]
[(char-complement (char-set "><-.,+[]")) [(char-complement (char-set "><-.,+[]"))
(token 'OTHER #:skip? #t)] (token 'OTHER #:skip? #t)]
[(eof) eof])) [(eof) eof]))
(get-token input-port)) (get-token input-port))
next-token) next-token)
@ -14,8 +15,6 @@
(require "bf-parser.rkt") (require "bf-parser.rkt")
(define (read-syntax source-path input-port) (define (read-syntax source-path input-port)
(define parse-tree (parse source-path (tokenize input-port))) (define parse-tree (parse source-path (tokenize input-port)))
(strip-context (datum->syntax #f `(module bf-mod br/demo/bf/bf-expander
(inject-syntax ([#'PARSE-TREE parse-tree]) ,parse-tree)))
#'(module bf-mod br/demo/bf/bf-expander
PARSE-TREE))))
(provide read-syntax) (provide read-syntax)

Loading…
Cancel
Save