(define priority-op { symbol --> number } not -> 1 uminus -> 7) (define pp-binop { symbol --> string } plus -> "+" mult -> "*") (define parenthesis { string --> string } X -> (@s "(" X ")")) (define isdigit { string --> boolean } C -> (let CN (string->n C) (and (>= CN (string->n "0")) (<= CN (string->n "9")))))