Basic AST and parser setup

Now can construct a basic AST from an input string containing repeats,
constraints and type names