Various cleanups
Enhanced the grammar to support annotations and extended patterns for method and property names
This is not yet ported to the Java code