anchor.diff:  NUMBER          : (DIGIT)+ ;
   fragment DIGIT  : '0'..'9' ;
   
  -
   // Skip whitspaces
   WHITESPACE   : ( '\t' | ' ' | '\r' | '\n'| '\u000C' )+ { skip(); };
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: ;
  
  
  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 '(' mapping_var_list[listMapped] ':' mapping_var_list[listMapping] ')'
  ;
  
  
  /*----------------------------------------------------------------------------
   * LEXER RULES
  