anchor.diff:  	:
   		'$'!
   		( ('a'..'z') ( options { warnWhenFollowAmbig=false; } : 'a'..'z'|'A'..'Z'|'0'..'9'|'_')*
  -			{ text = "kargs['%s']" % $getText }
  +			{ text = "_kargs['%s']" % $getText }
   		| ( options { warnWhenFollowAmbig=false; } : '0'..'9')+
  -			{ text = "args[%s]" % $getText }
  +			{ text = "_args[%s]" % $getText }
   	    | '$'
  -			{ text = "result" }
  +			{ text = "_result" }
  +	    | '#'
  +			{ text = "_argn" }
  +	    | '<'
  +			{ text = "_target" }
   		)
   			{ $setText(text) }
   	;
  
positive.code: 	| #( APPL post_match_term post_match_term )
  	| #( TRNSF n=id )
  		{
              self.writeln("args[%i] = self.%s(args[%i])" % (self.argn, n, self.argn))
              self.argn += 1
  		}
  	| a:ACTION
  		{
              self.writeln("argn = %s " % self.argn)
              self.writeln("args[%i] = %s" % (self.argn, #a.getText()))
              self.argn += 1
  		}
  	| NIL
  
negative.code: 		{
              if flag:
                  pattern = self.stringify_term(#t)
                  self.writeln("_result = self.factory.make(%r, *_args, **_kargs)" % pattern)
              else:
                  pattern = self.build_term(#t)
                  self.writeln("_result = %s.make(*_args, **_kargs)" % pattern)
          }
  	;
  
  