anchor.diff:  		{ res = elms }
   	| LPAREN args=aterms RPAREN
   		{ res = self.factory.makeAppl(self.factory.makeStr(""), args) }
  -	| cname:CONS
  -		{ res = self.factory.makeStr(cname.getText()) }
  +	| 
  +		cname:CONS
  +			{ res = self.factory.makeStr(cname.getText()) }
   		( LPAREN args=aterms RPAREN
   			{ res = self.factory.makeAppl(res, args) }
   		|
   			{ res = self.factory.makeAppl(res) }
   		)
  -		
   	|
   		( vname:VAR
   			{ res = self.factory.makeVar(vname.getText()) }
  
positive.code: 		( ('e'|'E') ('-'|'+')? ('0'..'9')+ { $setType(REAL); } )?
  	;
  
  STR	: '"'! (STRCHAR)* '"'!;
  
  protected
  STRCHAR: ESCCHAR
  	| ~('"'|'\\')
  	;
  
  protected
  ESCCHAR	: '\\'!
  		( 'n' { $setText("\n"); }
  		| 'r' { $setText("\r"); }
  		| 't' { $setText("\t"); }
  
negative.code: 	language  = "Python";
  }
  
  
  class atermLexer extends Lexer;
  
  tokens {
  