|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- #lang br/quicklang
-
- (require "tmUtils.rkt")
-
- (define-macro (tA-module-begin PARSE-TREE)
- #'(#%module-begin
- PARSE-TREE
- (display-result '(a a a a a))))
- (provide (rename-out [tA-module-begin #%module-begin]))
-
- (define-macro (tA-program START-ARG BLANK-ARG ACCEPT-ARG STATE-SET-ARG)
- #'(void START-ARG BLANK-ARG ACCEPT-ARG STATE-SET-ARG))
- (provide tA-program)
-
- (define-macro (tA-start "@" START-ARG)
- #'(set-start! START-ARG))
- (provide tA-start)
-
- (define-macro (tA-blank "%" BLANK-ARG)
- #'(set-def! BLANK-ARG))
- (provide tA-blank)
-
- (define-macro (tA-accept "!" ACCEPT-ARG)
- #'(void))
- (provide tA-accept)
-
- (define-macro (tA-state-set STATE-ARG ...)
- #'(begin
- STATE-ARG ...))
- (provide tA-state-set)
-
- (define-macro (tA-tran CURRENT "~" NEW DIR NEXT)
- #'(lambda (i)
- (hash-set! trans-map
- `(,i ,CURRENT)
- `(,NEW ,DIR ,NEXT))))
- (provide tA-tran)
-
- (define-macro (tA-tran-set TRAN ...)
- #'(lambda (i)
- (begin
- (TRAN i) ...)))
- (provide tA-tran-set)
-
- (define-macro (tA-state ":" ID TRAN-SET)
- #'(TRAN-SET ID))
- (provide tA-state)
-
- (define-macro (tA-state-id ID)
- #'(string->symbol ID))
- (provide tA-state-id)
-
- (define-macro (tA-symbol SYM)
- #'(string->symbol SYM))
- (provide tA-symbol)
-
- (define-macro (tA-dir DIR)
- #'(begin
- (if (equal? "<" DIR) 'L 'R)))
- (provide tA-dir)
|