anchor.diff:  fragment NonAlphaNumeric         : ~[a-zA-Z0-9];
   fragment HexDigit                : [0-9a-fA-F];
   fragment ASCII                   : [\u0000-\u007F];
  +
  
positive.code:  *
   * Project      : PCRE Parser, an ANTLR 4 grammar for PCRE
   * Developed by : Bart Kiers, bart@big-o.nl
   * Also see     : https://github.com/bkiers/pcre-grammar
   */
  grammar PCRE;
  
  @parser::members {
    private boolean insideCharacterClass = false;
  }
  
  // Most single line comments above the lexer- and  parser rules 
  // are copied from the official PCRE man pages (last updated: 
  
negative.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
   : '[' '^' CharacterClassEnd Hyphen cc_atom+ ']'
   | '[' '^' CharacterClassEnd cc_atom* ']'
   | '[' '^' cc_atom+ ']'
   | '[' CharacterClassEnd Hyphen cc_atom+ ']'
   | '[' CharacterClassEnd cc_atom* ']'
   | '[' cc_atom+ ']'
   ;
  
  // BACKREFERENCES
  