anchor.diff:  PLUS: '+';
   protected
   MINUS: '-';
  +protected
   MUL: '*';
   DIV: '/';
   MOD: '%';
  +protected
   SMUL: "*!";
   SDIV: "/!";
   SMOD: "%!";
  
positive.code: RSHIFTA: ">>A";
  RSHIFT: ">>";
  
  MUL_F: "*f";
  MUL_FD: "*fd";
  MUL_FQ: "*fq";
  MUL_FSD: "*fsd";
  MUL_FDQ: "*fdq";
  DIV_F: "/f";
  DIV_FD: "/fd";
  
negative.code: THEN: "=>";
  TO: "..";
  AT: '@';
  
  protected
  ASSIGNTYPE: '*' ('a'..'z')? ('0'..'9')* '*';
  
  ASSIGNTYPE_OR_MUL
  	: ( ASSIGNTYPE ) => ASSIGNTYPE { $setType(ASSIGNTYPE); }
  	| MUL { $setType(MUL); }
  	| SMUL { $setType(SMUL); }
  	| MUL_F { $setType(MUL_F); }
  	| MUL_FD { $setType(MUL_FD); }
  	| MUL_FQ { $setType(MUL_FQ); }
  	| MUL_FSD { $setType(MUL_FSD); }
  	| MUL_FDQ { $setType(MUL_FDQ); }
  	;
  
  PRIME: '\'';
  
  