I think these lines:
meta_data_tag_is_controlled : 'is_controlled' ;
meta_data_tag_is_generated : 'is_generated' ;
are not conform the ADL-specs.
In the spec is no mentioning of a property which has true/false, but simply the occurrence of the word "generated" indicates that "is_generated" becomes true.
So the lines should become:
meta_data_tag_is_controlled : 'controlled' ;
meta_data_tag_is_generated : 'generated' ;
and then the grammar works fine.