anchor.diff:  	;
   
   import_args
  -		{ self.writeln("__kargs = {}") } 
  +		{ self.writeln("_a = {}") } 
   	: #(LPAREN ( import_arg )* )
   	;
   	
   import_arg
   	: n=id
  -		{ self.writeln("__kargs['%s'] = %s" % (n, n)) }
  +		{ self.writeln("_a['%s'] = %s" % (n, n)) }
   	| a:ACTION
   	;
   
  
positive.code: 	:
  		'$'!
  		( ('a'..'z') ( options { warnWhenFollowAmbig=false; } : 'a'..'z'|'A'..'Z'|'0'..'9'|'_')*
  			{ text = "_kargs['%s']" % $getText }
  		| ( options { warnWhenFollowAmbig=false; } : '0'..'9')+
  			{ text = "_args[%s]" % $getText }
  	    | '$'
  			{ text = "_result" }
  	    | '#'
  			{ text = "_argn" }
  	    | '<'
  			{ text = "_target" }
  		)
  			{ $setText(text) }
  	;
  
negative.code: 			{
                  self.writeln("try:")
                  self.indent()
                  self.writeln("_r = _t")
                  self.writeln("_ = []")
                  self.writeln("_k = _a.copy()")
  			}
  		( predicate )+
  		( INTO ( production )+ )?
  			{
                  self.writeln("return _r")
                  self.deindent()
                  self.writeln("except Failure:")
                  self.indent()
  