Generated using »dot« from the dump produced by »ml-antlr«.
I'm encountering odd behavior with some examples that should not parse. For example, it believes the input
- val 1 : Int
corresponds to the AST
- val it = (1 Int)
Which seems to indicate that it thinks the input is an expression because it is creating a dummy value declaration for »it«. I'm still uncertain as to whether this is a bug in my code or »ml-antlr«. At least staring at the automaton and my EBNF I can't see how it could possibly not report a parse error on my example.
In any event, modulo bug squashing I've finally finished parsing and pretty-printing for InforML. Tomorrow I'll start on implementing the truly interesting stuff: type-inference.