update bf

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

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

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

Loading…
Cancel
Save