merging fixes from tree-rewrite branch back to trunk

merging fixes from tree-rewrite branch back to trunk:

* whitespace after match constant call
* 2-pass recursion (speculating/non-speculating) in ParserGenVisitor