Skip to content

Commit

Permalink
made names acceptable to bison
Browse files Browse the repository at this point in the history
  • Loading branch information
jbclements committed May 10, 2013
1 parent b566f4b commit 07ea170
Showing 1 changed file with 8 additions and 8 deletions.
16 changes: 8 additions & 8 deletions antlr-parser.rkt
Expand Up @@ -179,38 +179,38 @@
;; special-case for 1-ary case makes things ;; special-case for 1-ary case makes things
;; *much* more readabale... ;; *much* more readabale...
[(list 'star (? string? s)) [(list 'star (? string? s))
(define new-name (get-aux-defn-name (~a name "*"))) (define new-name (get-aux-defn-name (~a name "_star")))
(hash-set! aux-defn-bucket (hash-set! aux-defn-bucket
new-name new-name
`(() `(()
(,s ,new-name))) (,s ,new-name)))
new-name] new-name]
[(list 'star pat) [(list 'star pat)
(define lifted-rhs-seq ((rewrite-pat-to-seq name) pat)) (define lifted-rhs-seq ((rewrite-pat-to-seq name) pat))
(define new-name (get-aux-defn-name (~a name "*"))) (define new-name (get-aux-defn-name (~a name "_star")))
(hash-set! aux-defn-bucket (hash-set! aux-defn-bucket
new-name new-name
`(() `(()
(,@lifted-rhs-seq ,new-name))) (,@lifted-rhs-seq ,new-name)))
new-name] new-name]
;; special-case to improve readability ;; special-case to improve readability
[(list 'plus (? string? s)) [(list 'plus (? string? s))
(define new-name (get-aux-defn-name (~a name "+"))) (define new-name (get-aux-defn-name (~a name "_plus")))
(hash-set! aux-defn-bucket (hash-set! aux-defn-bucket
new-name new-name
`((,s) `((,s)
(,s ,new-name))) (,s ,new-name)))
new-name] new-name]
[(list 'huh (? string? s)) [(list 'huh (? string? s))
(define new-name (get-aux-defn-name (~a name "*"))) (define new-name (get-aux-defn-name (~a name "_star")))
(hash-set! aux-defn-bucket (hash-set! aux-defn-bucket
new-name new-name
`(() `(()
(,s))) (,s)))
new-name] new-name]
[(list 'huh pat) [(list 'huh pat)
(define lifted-rhs-seq ((rewrite-pat-to-seq name) pat)) (define lifted-rhs-seq ((rewrite-pat-to-seq name) pat))
(define new-name (get-aux-defn-name (~a name "?"))) (define new-name (get-aux-defn-name (~a name "_huh")))
(hash-set! aux-defn-bucket (hash-set! aux-defn-bucket
new-name new-name
`(() `(()
Expand Down Expand Up @@ -255,9 +255,9 @@
(check-equal? ((rewrite-pat-to-nonterm "bogo") "attrs_and_vis") (check-equal? ((rewrite-pat-to-nonterm "bogo") "attrs_and_vis")
"attrs_and_vis") "attrs_and_vis")
(check-equal? ((rewrite-pat-to-nonterm "bogo") '(star "frongy")) (check-equal? ((rewrite-pat-to-nonterm "bogo") '(star "frongy"))
"bogo*_1") "bogo_star_1")
(check-equal? (hash-ref aux-defn-bucket "bogo*_1") (check-equal? (hash-ref aux-defn-bucket "bogo_star_1")
'(() ("frongy" "bogo*_1"))) '(() ("frongy" "bogo_star_1")))


(reset-aux-defns!) (reset-aux-defns!)


Expand Down

0 comments on commit 07ea170

Please sign in to comment.