#lang br/quicklang (require "parser.rkt") (define (read-syntax path port) (define parse-tree (parse path (make-tokenizer port))) (define module-datum `(module tA-mod turingAutomaton/expander ,parse-tree)) (datum->syntax #f module-datum)) (provide read-syntax) (require brag/support) (define-lex-abbrev digits (:+ (char-set "0123456789"))) (define (make-tokenizer port) (define (next-token) (define tA-lexer (lexer [(from/to ";" "\n") (next-token)] [whitespace (next-token)] ["\n" (token 'NL lexeme)] [(char-set "@%!~<>") lexeme] [(:+ (:or digits alphabetic)) (token 'TA-STRING lexeme)] [any-char lexeme])) (tA-lexer port)) next-token)