anchor.diff:    | END REMOVE { $l.setDirective(ClawDirective.END_REMOVE); } EOF
   
     // Kcache directive
  -  | KCACHE offset_list[o]
  +  | KCACHE offset_list_optional[o]
       {
         $l.setDirective(ClawDirective.KCACHE);
         $l.setOffsets(o);
  
positive.code: RANGE        : 'range';
  
  // Special elements
  IDENTIFIER      : [a-zA-Z_$0-9] [a-zA-Z_$0-9]* ;
  NUMBER          : (DIGIT)+ ;
  fragment DIGIT  : '0'..'9' ;
  
  // Skip whitspaces
  WHITESPACE   : ( '\t' | ' ' | '\r' | '\n'| '\u000C' )+ { skip(); };
negative.code:   }
    :
      '(' ids_list[indexes] ')' { $l.setIndexes(indexes); }
    | /* empty */
  ;
  
  offset_list_optional[List<String> offsets]:
      offset_list[$offsets]
    | /* empty */
  ;
  
  