anchor.diff:    ;
   
   matrix :
  -     t_lsquare optional_row_list t_rsquare
  +     t_LSQUARE optional_row_list t_RSQUARE
     ;
   
   cell_array :
  -     t_lcurly optional_row_list t_rcurly
  +     t_LCURLY optional_row_list t_RCURLY
     ;
   
   optional_row_list :
  
positive.code: 
  primary_expr :
       literal
    |  t_lparen FILLER? expr FILLER? t_rparen
    |  matrix
    |  cell_array
    |  access
  
negative.code:   ;
  
  paren_access :
       cell_access (FILLER? t_LPAREN FILLER? (arg_list FILLER?)? t_RPAREN)?
    ;
  
  cell_access :
       name (FILLER? t_LCURLY FILLER? arg_list FILLER? t_RCURLY)*
    |  {inParens()}? name FILLER? AT FILLER? name
    |  {!inParens()}? name AT name //TODO-AC: fix error message for name AT FILLER name case
    ;
  