anchor.diff:    ;
   
   element_separator :
  -     COMMA filler*
  +     COMMA FILLER?
     ;
   
   input_params :
  -     LPAREN filler* param_list? RPAREN filler*
  +     LPAREN FILLER? param_list? RPAREN FILLER?
     ;
   
   param_list :
  -     name (COMMA filler* name)*
  +     name (COMMA FILLER? name)*
     ;
   
   name :
  -     IDENTIFIER filler*
  +     IDENTIFIER FILLER?
     ;
   
   filler :
  
positive.code:   ;
  
  row_separator :
       LINE_TERMINATOR filler*
    |  SEMICOLON filler*
    ;
  
  element_list :
  
negative.code: 
  fragment NOT_LINE_TERMINATOR : ~('\r' | '\n');
  COMMENT : '%' | '%' ~'{' NOT_LINE_TERMINATOR* { $channel=HIDDEN; };
  
  LINE_TERMINATOR : '\r' '\n' | '\r' | '\n';
  
  fragment ELLIPSIS_COMMENT : '...' NOT_LINE_TERMINATOR* LINE_TERMINATOR;
  fragment OTHER_WHITESPACE : (' ' | '\t' | '\f')+;
  FILLER : (ELLIPSIS_COMMENT | OTHER_WHITESPACE)+;
  