Reduce parse repetition with functions/macros ?
There is a lot of similarity among the different parse methods. The question is - can these functions be generated from syntax definitions?
e.g., something like (make-parser ifzero-expr "if" 'Expr "is" "zero" "then" 'Expr "else" 'Expr "@")
Would yield a parse function that pops the strings and checks that they match, recursively parses the Exprs, then calls the make-ifzero-expr
constructor.
That sounds like a stretch for a function, so maybe this is an opportunity to learn about macros! http://docs.racket-lang.org/guide/macros.html