Here goes the grammar:
- Code: Select all
(define calc
(packrat-parser
expr
(expr ((a <- simple b <- tail)
(b a)))
(tail (('+ a <- simple b <- tail)
(lambda (x) (b (+ x a))))
(('- a <- simple b <- tail)
(lambda (x) (b (- x a))))
(()
values))
(simple ((a <- 'num)
a))))
- Code: Select all
(define g (generator '((num . 19) (-) (num . 11) (-) (num . 2))))
- Code: Select all
(define g (generator '((num . 19) (-) (num . 11) (+) (num . 2))))
Thomas

