anchor.diff:     ;
   
   expression6
  -   : STRING
  +   :
  +   ( STRING
      | NUMBER
      | FLOAT
      | catch_
      | gauge
      | sscanf
      | lambda
  -   | class
  +   | class_implementation
      | constant_identifier
  -   | call
  -   | index
      | mapping
      | multiset
      | array
      | parenthesis
  -   | arrow
  +   ) extension*
  +   ;
  +
  +extension
  +   : '(' expression_list ')'
  +   | '->' IDENTIFIER
  +   | '[' expression ('..' expression)? ']'
      ;
   
   catch_
  
positive.code:    : '([' (expression ':' expression (',' expression ':' expression)*)? ','? '])'
     ;
  
  arrow
     : expression6 '->' IDENTIFIER
     ;
  
  program_specifier
     :
  
negative.code:    ;
  
  variable_name
     : '*'* IDENTIFIER ('=' expression2)?
     ;
  
  constant
  