anchor.diff:  ;
   
   
  -/*
   mapping_option returns [ClawMapping mapping]
     @init{
       $mapping = new ClawMapping();
  +    List<ClawMappingVar> listMapped = new ArrayList<ClawMappingVar>();
  +    List<ClawMappingVar> listMapping = new ArrayList<ClawMappingVar>();
  +    $mapping.setMappedVariables(listMapped);
  +    $mapping.setMappingVariables(listMapping);
     }
     :
  -    MAP '(' ids_list ':' ids_list ')'
  +    MAP '(' mapping_var_list[listMapped] ':' mapping_var_list[listMapping] ')'
   ;
   
  -map_list:
  -    mapping_option
  -  | mapping_option map_list
  -;
  -*/
   
   /*----------------------------------------------------------------------------
    * LEXER RULES
  
positive.code:     }
  ;
  
  mapping_var returns [ClawMappingVar mappingVar]:
      lhs=IDENTIFIER '/' rhs=IDENTIFIER
      {
        $mappingVar = new ClawMappingVar($lhs.text, $rhs.text);
      }
    | i=IDENTIFIER { $mappingVar = new ClawMappingVar($i.text, $i.text); }
  ;
  
  mapping_var_list[List<ClawMappingVar> vars]:
       mv=mapping_var { $vars.add($mv.mappingVar); }
  
negative.code: NUMBER          : (DIGIT)+ ;
  fragment DIGIT  : '0'..'9' ;
  
  // Skip whitspaces
  WHITESPACE   : ( '\t' | ' ' | '\r' | '\n'| '\u000C' )+ { skip(); };