return best;}},forward:function(gr,fname){return function(s){return gr[fname].call(this,s);}},replace:function(rule,repl){return function(s){var r=rule.call(this,s);return[repl,r[1]];}},process:function(rule,fn){return function(s){var r=rule.call(this,s);return[fn.call(this,r[0]),r[1]];}},min:function(min,rule){return function(s){var rx=rule.call(this,s);if(rx[0].length<min){throw new $P.Exception(s);} 
return best;};},forward:function(gr,fname){return function(s){return gr[fname].call(this,s);};},replace:function(rule,repl){return function(s){var r=rule.call(this,s);return[repl,r[1]];};},process:function(rule,fn){return function(s){var r=rule.call(this,s);return[fn.call(this,r[0]),r[1]];};},min:function(min,rule){return function(s){var rx=rule.call(this,s);if(rx[0].length<min){throw new $P.Exception(s);} 
return[rx,(r?r[1]:s)];}},between:function(d1,p,d2){d2=d2||d1;var _fn=_.each(_.ignore(d1),p,_.ignore(d2));return function(s){var rx=_fn.call(this,s);return[[rx[0][0],r[0][2]],rx[1]];}},list:function(p,d,c){d=d||_.rtoken(/^\s*/);c=c||null;return(p instanceof Array?_.each(_.product(p.slice(0,-1),_.ignore(d)),p.slice(-1),_.ignore(c)):_.each(_.many(_.each(p,_.ignore(d))),px,_.ignore(c)));},set:function(px,d,c){d=d||_.rtoken(/^\s*/);c=c||null;return function(s){var r=null,q=null,p=null,q=null,rx=null,best=[[],s],last=false;for(var i=0;i<px.length;i++){q=null;p=null;r=null;last=(px.length==1);try{r=px[i].call(this,s);}catch(e){continue;}rx=[[r[0]],r[1]];if(r[1].length>0&&!last){try{q=d.call(this,r[1]);}catch(e){last=true;}}else{last=true;}if(!last&&q[1].length==0){last=true;}if(!last){var qx=[];for(var j=0;j<px.length;j++){if(i!=j){qx.push(px[j]);}}p=_.set(qx,d).call(this,q[1]);if(p[0].length>0){rx[0]=rx[0].concat(p[0]);rx[1]=p[1];}}if(rx[1].length<best[1].length){best=rx;}if(best[1].length==0){break;}}if(best[0].length==0){return best;}if(c){try{q=c.call(this,best[1]);}catch(e){throw new $P.Exception(best[1]);}best[1]=q[1];}return best;}},forward:function(gr,fname){return function(s){return gr[fname].call(this,s);}},replace:function(rule,repl){return function(s){var r=rule.call(this,s);return[repl,r[1]];}},process:function(rule,fn){return function(s){var r=rule.call(this,s);return[fn.call(this,r[0]),r[1]];}},min:function(min,rule){return function(s){var rx=rule.call(this,s);if(rx[0].length<min){throw new $P.Exception(s);}
2975	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/2975/5112f6b1851962e6f423c16459e81b9ea423f71f/parser.js/buggy/src/parser.js