Finite-state automaton for the InforML parser

Generated using »dot« from the dump produced by »ml-antlr«.

The grammar of the InforML Language

I'm encountering odd behavior with some examples that should not parse. For example, it believes the input

  1. val 1 : Int

corresponds to the AST

  1. 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.

Leave a Comment