anchor.diff:  	  action(1)
   	;
   
  -params
  +params(int formal)
   {
   	long off = ftell(fact);
   }
  -	: '('		{	copyact('(',')',0,0); }
  +	: '('		{	copyact('(', ')', formal ? 2 : 0, 0); }
   	  ')'
   			{	if (nparams == 0) {
   					fseek(fact, off, 0);
  
positive.code: 	/*
  	 * Copy an action to file f. Opening bracket is ch1, closing bracket
  	 * is ch2.
  	 * If flag != 0, copy opening and closing parameters too.
  	 */
  	static int	text_seen = 0;
  	register	FILE *f;
  
negative.code: 				p->n_lineno = linecount;
  				p->n_off = ftell(fact);
  			}
  	  [ params(1)	{	if (nparams > 0) {
  					p->n_flags |= PARAMS;
  					if (nparams > 15) {
  						error(linecount,"Too many parameters");
  