Switched from metaclass-based grammar definitions to GrammarBuilder