anchor.diff:      ;
   
   
  -fragment LETTER : UNICODE_LETTER | '_'
  -    ;
  -
  -fragment DECIMAL_DIGIT : [0-9]
  -    ;
  -
  -fragment OCTAL_DIGIT   : [0-7]
  -    ;
  -
  -fragment HEX_DIGIT     : [0-9a-fA-F]
  -    ;
  -
  -fragment NEWLINE        : [\u000A] ; /* the Unicode code point U+000A */
  -fragment UNICODE_CHAR   : ~[\u000A] ; /* an arbitrary Unicode code point except newline */
  -//UNICODE_LETTER : ; /* a Unicode code point classified as "Letter" */ .
  -//UNICODE_DIGIT  : ; /* a Unicode code point classified as "Number, decimal digit" */ .
  -
  +// String literals
  +
  +//string_lit             = raw_string_lit | interpreted_string_lit .
  +STRING_LIT
  +    : RAW_STRING_LIT
  +    | INTERPRETED_STRING_LIT
  +    ;
  +
  +//raw_string_lit         = "`" { unicode_char | newline } "`" .
  +fragment RAW_STRING_LIT
  +    : '`' ( UNICODE_CHAR | NEWLINE )* '`'
  +    ;
  +
  +//interpreted_string_lit = `"` { unicode_value | byte_value } `"` .
  +fragment INTERPRETED_STRING_LIT
  +    : '"' ( UNICODE_VALUE | BYTE_VALUE )* '"'
  +    ;
  +
  +
  +//
  +// Source code representation
  +//
  +
  +//letter        = unicode_letter | "_" .
  +fragment LETTER
  +    : UNICODE_LETTER
  +    | '_'
  +    ;
  +
  +//decimal_digit = "0" … "9" .
  +fragment DECIMAL_DIGIT
  +    : [0-9]
  +    ;
  +
  +//octal_digit   = "0" … "7" .
  +fragment OCTAL_DIGIT
  +    : [0-7]
  +    ;
  +
  +//hex_digit     = "0" … "9" | "A" … "F" | "a" … "f" .
  +fragment HEX_DIGIT
  +    : [0-9a-fA-F]
  +    ;
  +
  +//newline = /* the Unicode code point U+000A */ .
  +fragment NEWLINE
  +    : [\u000A]
  +    ;
  +
  +//unicode_char = /* an arbitrary Unicode code point except newline */ .
  +fragment UNICODE_CHAR   : ~[\u000A] ;
  +
  +//unicode_digit = /* a Unicode code point classified as "Number, decimal digit" */ .
   fragment UNICODE_DIGIT
    : [\u0030-\u0039]
    | [\u0660-\u0669]
  
positive.code: /*
   [The "BSD licence"]
   Copyright (c) 2016 Sasa Coh
   All rights reserved.
  
   Redistribution and use in source and binary forms, with or without
  
negative.code:  | [\uFF10-\uFF19]
   ;
  
  //unicode_letter = /* a Unicode code point classified as "Letter" */ .
  fragment UNICODE_LETTER
   : [\u0041-\u005A]
   | [\u0061-\u007A]
  