|
|
@ -101,11 +101,7 @@
|
|
|
|
;; start-id has to be a value, not an expr, because make-rule-parser is a macro
|
|
|
|
;; start-id has to be a value, not an expr, because make-rule-parser is a macro
|
|
|
|
(define PARSE (procedure-rename (MAKE-RULE-PARSER START-ID) 'PARSE))
|
|
|
|
(define PARSE (procedure-rename (MAKE-RULE-PARSER START-ID) 'PARSE))
|
|
|
|
|
|
|
|
|
|
|
|
(define (PARSE-TO-DATUM x)
|
|
|
|
(define (PARSE-TO-DATUM x) (syntax->datum (PARSE x)))
|
|
|
|
(let loop ([x (syntax->datum (PARSE x))])
|
|
|
|
|
|
|
|
(cond
|
|
|
|
|
|
|
|
[(list? x) (map loop x)]
|
|
|
|
|
|
|
|
[else x])))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(define PARSE-TREE PARSE-TO-DATUM))))]))
|
|
|
|
(define PARSE-TREE PARSE-TO-DATUM))))]))
|
|
|
|
|
|
|
|
|
|
|
|