anchor.diff:  
   tokens { INDENT, DEDENT }
   
  -//Note that indentation of code inside
  +//Note the indentation of code inside
   
   @lexer::header{
   from antlr4.Token import CommonToken
   import re
   import importlib
   
  -# Allow languages to extend the lexer and parser, by loading the parser dinamically
  +# Allow languages to extend the lexer and parser, by loading the parser dynamically
   module_path = __name__[:-5]
   language_name = __name__.split('.')[-1]
   language_name = language_name[:-5]  # Remove Lexer from name
  
positive.code:  ;
  
  
  /// identifier   ::=  id_start id_continue*
  NAME
   : ID_START ID_CONTINUE*
   ;
  
  /// stringliteral   ::=  [stringprefix](shortstring | longstring)
  /// stringprefix    ::=  "r" | "R"
  STRING_LITERAL
   : [uU]? [rR]? ( SHORT_STRING | LONG_STRING )
   ;
  
  /// bytesliteral   ::=  bytesprefix(shortbytes | longbytes)
  /// bytesprefix    ::=  "b" | "B" | "br" | "Br" | "bR" | "BR"
  BYTES_LITERAL
   : [bB] [rR]? ( SHORT_BYTES | LONG_BYTES )
   ;
  
  /// decimalinteger ::=  nonzerodigit digit* | "0"+
  DECIMAL_INTEGER
   : NON_ZERO_DIGIT DIGIT*
   | '0'+
   ;
  
  /// octinteger     ::=  "0" ("o" | "O") octdigit+
  OCT_INTEGER
   : '0' [oO] OCT_DIGIT+
   ;
  
  /// hexinteger     ::=  "0" ("x" | "X") hexdigit+
  HEX_INTEGER
   : '0' [xX] HEX_DIGIT+
   ;
  
  /// bininteger     ::=  "0" ("b" | "B") bindigit+
  BIN_INTEGER
   : '0' [bB] BIN_DIGIT+
   ;
  
  /// floatnumber   ::=  pointfloat | exponentfloat
  FLOAT_NUMBER
   : POINT_FLOAT
   | EXPONENT_FLOAT
   ;
  
  /// imagnumber ::=  (floatnumber | intpart) ("j" | "J")
  IMAG_NUMBER
   : ( FLOAT_NUMBER | INT_PART ) [jJ]
   ;
  
negative.code:  ;
  
  fragment COMMENT
   : '#' ~[\r\n\f]*
   ;
  
  fragment LINE_JOINING
   : '\\' SPACES? ( '\r'? '\n' | '\r' | '\f' )
   ;
  
  /// id_start     ::=  <all characters in general categories Lu, Ll, Lt, Lm, Lo, Nl, the underscore, and characters with the Other_ID_Start property>
  