anchor.diff:  
   // ref. Section 11.4
   // MultiLineComment::
  -//     '/*' MultiLineCommentCharsopt' */'
  +//     '/*' MultiLineCommentChars[opt] '*/'
   // MultiLineCommentChars::
   //     MultiLineNotAsteriskChar MultiLineCommentChars[opt]
   //     '*' PostAsteriskCommentChars[opt]
  
positive.code: | [\uD87E][\uDC00-\uDE1D]
  | [\uDB40][\uDD00-\uDDEF]
  ;
  
negative.code: fragment
  SINGLE_LINE_COMMENT
  : '//' ~[\n\r\u2028\u2029]*
  ;
  
  // ref. Section 11.6 + Section 10.1
  // IdentifierPart::
  //     UnicodeIDContinue
  //     '$'
  //     '_'
  //     '\' UnicodeEscapeSequence
  //     <ZWNJ>   U+200C   ZERO WIDTH NON-JOINER	  IdentifierPart
  //     <ZWJ>    U+200D   ZERO WIDTH JOINER	      IdentifierPart
  fragment
  IDENTIFIER_PART
  : UNICODE_ID_CONTINUE
  | [$_\u200C\u200D]
  | '\\' UNICODE_ESCAPE_SEQUENCE
  ;
  
  // ref. Section 11.6
  