anchor.diff:  //AC: keep the lexer and the parser together for now because that's the default Antlr layout
   
   options {
  -	output = template;
  -	rewrite = true;
  +    output = template;
  +    rewrite = true;
   }
   
   @parser::header {
  
positive.code:   ;
  
  matrix :
       LSQUARE FILLER? optional_row_list RSQUARE
    ;
  
  cell_array :
       LCURLY FILLER? optional_row_list RCURLY
    ;
  
  optional_row_list :
  
negative.code:   ;
  
  access :
       cell_access (({bracketStack.peek() == LPAREN}? FILLER?) lparen FILLER? (arg_list FILLER?)? rparen)?
    ;
  
  cell_access :
       (var_access) (({bracketStack.peek() == LPAREN}? FILLER?) lcurly FILLER? arg_list FILLER? rcurly)*
    |  {bracketStack.peek() == LPAREN}? name FILLER? AT FILLER? name
    |  name AT name
    ;
    
  var_access :
       (name) (FILLER? DOT FILLER? name)*
    ;
  
  arg_list :  
       (arg) (FILLER? COMMA FILLER? arg)*
    ;
    
  