anchor.diff:  fragment NonAlphaNumeric         : ~[a-zA-Z0-9];
   fragment HexDigit                : [0-9a-fA-F];
   fragment ASCII                   : [\u0000-\u007F];
  +
  
positive.code: //       default,  but  some  of them use Unicode properties if PCRE_UCP is set.
  //       You can use \Q...\E inside a character class.
  character_class
   : '[' {insideCharacterClass=true;} '^' CharacterClassEnd Hyphen cc_atom+ ']' {insideCharacterClass=false;}
   | '[' {insideCharacterClass=true;} '^' CharacterClassEnd cc_atom* ']' {insideCharacterClass=false;}
   | '[' {insideCharacterClass=true;} '^' cc_atom+ ']' {insideCharacterClass=false;}
   | '[' {insideCharacterClass=true;} CharacterClassEnd Hyphen cc_atom+ ']' {insideCharacterClass=false;}
   | '[' {insideCharacterClass=true;} CharacterClassEnd cc_atom* ']' {insideCharacterClass=false;}
   | '[' {insideCharacterClass=true;} cc_atom+ ']' {insideCharacterClass=false;}
   ;
  
  // BACKREFERENCES
  
negative.code:  *
   * Project      : PCRE Parser, an ANTLR 4 grammar for PCRE
   * Developed by : Bart Kiers, bart@big-o.nl
   */
  grammar PCRE;
  
  // Most single line comments above the lexer- and  parser rules 
  // are copied from the official PCRE man pages (last updated: 
  