anchor.diff:  ELDIV : '.\\';
   MPOW : '^';
   EPOW : '.^';
  -MTRANSPOSE : '\'';
  +MTRANSPOSE : {isPreTransposeChar(LA(-1))}? '\'';
   ARRAYTRANSPOSE : '.\'';
   LE : '<=';
   GE : '>=';
  
positive.code: fragment SCI_EXP : ('e' | 'E') ('+' | '-')? DIGIT+;
  fragment FP_NUMBER : (DIGIT+ '.' DIGIT*) | ('.' DIGIT+) SCI_EXP;
  NUMBER : (HEX_NUMBER | FP_NUMBER) ('i' | 'I' | 'j' | 'J')?;
   
  //TODO-AC: handle transpose properly
  fragment STRING_CHAR : ~('\'' | '\r' | '\n') | '\'\'';
  STRING : '\'' STRING_CHAR* '\'';
  
  PLUS : '+';
  MINUS : '-';
  
negative.code: RCURLY : '}';
  LSQUARE : '[';
  RSQUARE : ']';
   
  //NB: matched AFTER transpose
  fragment STRING_CHAR : ~('\'' | '\r' | '\n') | '\'\'';
  STRING : '\'' STRING_CHAR* '\'';
  
  fragment BRACKET_COMMENT_FILLER : ~'%' | '%' ~('{' | '}');
  BRACKET_COMMENT : '%{' BRACKET_COMMENT_FILLER* (BRACKET_COMMENT BRACKET_COMMENT_FILLER*)* '%}'; //TODO-AC: test this
  