anchor.diff:    
   Terminals
     eol '(' ')' '[' ']'
  -  float integer identifier
  +  float integer identifier atom
     '+' '-' '*' '/' '%' '**' ',' '='
     .
   
  
positive.code: max_expr -> list         : '$1'.
  max_expr -> tuple        : '$1'.
  max_expr -> identifier   : '$1'.
  max_expr -> '(' expr ')' : '$2'.
  
  %% Addition operators
  
negative.code: 
  expr -> match_expr : '$1'.
  
  match_expr -> add_expr '=' match_expr :   #match{line=line('$2'), left='$1', right='$3'}.
  match_expr -> add_expr : '$1'.
  
  add_expr -> mult_expr add_op add_expr :   #binary_op{line=line('$1'), type=op('$2'), val1='$1', val2='$3'}.
  