protected PRAGMA options { paraphrase="pragma expression"; testLiterals=false; }: "(#" WS PRAGMA_QNAME (WS ( ~( '#' ) )* )? "#)" ; protected PRAGMA_QNAME : NCNAME ( ':' NCNAME )? ; protected PRAGMA_CONTENTS : ( ~( '#' ) )+ ; ------------- Used in NEXT_TOKEN: --------- [snip] XML_PI_END { $setType(XML_PI_END); } | XML_CDATA_END { $setType(XML_CDATA_END); } | PRAGMA { $setType(PRAGMA); } ;