anchor.diff:  //    DecimalIntegerLiteral ExponentPart[opt]
   fragment
   DecimalLiteral
  -: DecimalIntegerLiteral '.' DecimalDigits? ExponentPart?
  -| '.' DecimalDigits ExponentPart?
  -| DecimalIntegerLiteral ExponentPart?
  +: ('.' DecimalDigits|DecimalIntegerLiteral ('.' DecimalDigits?)?) ExponentPart?
   ;
   
   // DecimalIntegerLiteral::
  
positive.code: // HexIntegerLiteral::
  //    0x HexDigits
  //    0X HexDigits
  HexIntegerLiteral
  : '0x' HexDigits
  | '0X' HexDigits
  ;
  
  // HexDigits::
  
negative.code: //    - DecimalDigits
  fragment
  SignedInteger
  : ('+'|'-')? DecimalDigits
  ;
  
  // BinaryIntegerLiteral::
  //    0b BinaryDigits
  //    0B BinaryDigits
  fragment
  BinaryIntegerLiteral
  : '0' [bB] BinaryDigits
  ;
  
  // BinaryDigits::
  