anchor.diff:  t_BRACKET_COMMENT : BRACKET_COMMENT { offsetTracker.advanceByTextSize($text); };
   t_COMMENT : COMMENT { offsetTracker.advanceByTextSize($text); };
   
  +t_SHELL_COMMAND : SHELL_COMMAND { offsetTracker.advanceByTextSize($text); };
  +
   t_FILLER : FILLER { offsetTracker.advanceByTextSize($text); };
   
   t_LINE_TERMINATOR : LINE_TERMINATOR { offsetTracker.advanceToNewLine(1, 1); };
  
positive.code: colon_expr :
       plus_expr (t_FILLER? t_COLON t_FILLER? plus_expr (t_FILLER? t_COLON t_FILLER? plus_expr)?)?
    ;
  
  plus_expr :
       binary_expr (t_FILLER? (t_PLUS | t_MINUS) t_FILLER? binary_expr)*
    ;
  
negative.code: RCURLY : '}';
  LSQUARE : '[';
  RSQUARE : ']';
  
  ASSIGN : '=';
   
  //NB: matched AFTER transpose
  fragment STRING_CHAR : ~('\'' | '\r' | '\n') | '\'\'';
  