A Toy Programming Language
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
- #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)
|