anchor.diff:      CRLF
     | Prepend* ( emoji_sequence | HangulSyllable | NonControl ) ( Extend | ZWJ | SpacingMark )*;
   
  -graphemes: grapheme_cluster* EOF;+graphemes: grapheme_cluster* EOF;
  
positive.code:     | EmojiPresentationCharacter )
    NonspacingMark*;
  EmojiCoreSequence:
      EmojiModifierSequence
    | EmojiCombiningSequence
    | EmojiFlagSequence;
  fragment EmojiZWJElement:
      EmojiModifierSequence
    | EmojiPresentationSequence
    | EmojiPresentationCharacter
    | ExtendedPictographic
    | EmojiNRK;
  
negative.code: fragment EmojiPresentationCharacter: [\p{EmojiPresentation=EmojiDefault}];
  fragment TextPresentationSequence: EmojiPresentationCharacter VS15;
  fragment EmojiPresentationSequence: TextPresentationCharacter VS16;
  
  /* No Longer supported; see https://github.com/antlr/antlr4/pull/3261
  fragment EmojiModifierSequence:
      [\p{Grapheme_Cluster_Break=E_Base}\p{Grapheme_Cluster_Break=E_Base_GAZ}] [\p{Grapheme_Cluster_Break=E_Modifier}];
  */
  
  fragment EmojiFlagSequence:
      [\p{Grapheme_Cluster_Break=Regional_Indicator}] [\p{Grapheme_Cluster_Break=Regional_Indicator}];
  fragment ExtendedPictographic: [\p{Extended_Pictographic}];
  