anchor.diff:  jitdecl:
   	JIT^ (LBRACE! valexpr RBRACE!) COLON! stringlit
   	| JIT^ COLON! s:stringlit { #jitdecl = #(JIT, s); };
  +compdecl: ONCOMPLETE^ COLON! stringlit;
   answerdecl: ANSWER^ COLON! constructor;
   constructor: literal | callconstructor;
   callconstructor: ID^ LPAREN! literal (COMMA literal)* RPAREN!;
  
positive.code: /** variable declarations, which are really constant declarations at this point */
  variabledecls: VARIABLES^ LBRACE! (variabledecl SEMI!)* RBRACE!;
  /** feedback for one goalnode */
  nodefeedback: nodeid LBRACE! ((hintdecl | jitdecl | answerdecl | propertydecl) SEMI!)* RBRACE!
  {
  	#nodefeedback = #([NODEFEEDBACK, "NODEFEEDBACK"], #nodefeedback);
  };
  
negative.code: 	UNTIL="until";
  	AND="and";
  	OR="or";
  	ONCOMPLETE="OnComplete";
  }
  
  // ID component
  