anchor.diff:    : [0-9a-fA-F]
     ;
   
  -NUMBER
  +REAL_OR_EXPONENT_NUMBER
     : '-'? INT '.' [0-9] + EXP?
     | '-'? INT EXP
  -  | '-'? INT
     ;
  +
  +SIGNED_INT : '-'? INT ;
   
   fragment INT
     : '0'
  
positive.code: 
  literal : '`' value '`' ;
  
  SIGNED_INT : '-'? DIGIT+ ;
  
  DIGIT : [0-9] ;
  
  LETTER : [a-zA-Z] ;
  
negative.code: 
  value
    : STRING
    | (REAL_OR_EXPONENT_NUMBER | SIGNED_INT)
    | object
    | array
    | 'true'
  