anchor.diff:  THEN : "=>";
   TO	: "..";
   AT : '@';
  -ASSIGNSIZE: '*' ('0'..'9')+ '*';
  +ASSIGNTYPE: '*' /* ('a'..'z')?*/ ('0'..'9')* '*';
   
   PRIME : '\'';
   
  
positive.code: 
  protected
  NUM	:
  	(
  		(   { s = 1 }
  		|'-'! { s = -1 }
  		)
  		( ('0'..'9')+ { v = int($getText) }
  		| "0x"! ('0'..'9'|'A'..'F')+ { v = int($getText, 16) }
  		| "2**"! ('0'..'9')+ { v = 2**int($getText) }
  		)
  	) { v = str(v*s); $setText(v) }
  	;
  
  protected
  FLOATNUM :  ('-')? ('0'..'9')+ '.' ('0'..'9')+ ( ('e'|'E') NUM )?;
  
  FLOAT_OR_NUM
  	: (FLOATNUM ) => FLOATNUM { $setType(FLOATNUM); }
  
negative.code: 
  operand_decl
  	: NAME EQUATE LCURLY parameter_list RCURLY
  	| NAME parameter_list (LSQUARE parameter_list RSQUARE)? ASSIGNTYPE expr
  	;
  
  definition
  