MediaWiki:Skin/Projekt:Adventure2/parser.js: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
J* (Diskussion | Beiträge) |
J* (Diskussion | Beiträge) |
||
Zeile 22: | Zeile 22: | ||
if(result1!==null){pos2=clone(pos);result2=parse_S();if(result2!==null){result3=parse_Identifier();if(result3!==null){result2=[result2,result3];}else{result2=null;pos=clone(pos2);}}else{result2=null;pos=clone(pos2);} | if(result1!==null){pos2=clone(pos);result2=parse_S();if(result2!==null){result3=parse_Identifier();if(result3!==null){result2=[result2,result3];}else{result2=null;pos=clone(pos2);}}else{result2=null;pos=clone(pos2);} | ||
result2=result2!==null?result2:"";if(result2!==null){result3=parse_CC();if(result3!==null){result4=parse_TriggerClause();if(result4!==null){result5=parse_ConditionClause();result5=result5!==null?result5:"";if(result5!==null){result6=parse_ActionClause();result6=result6!==null?result6:"";if(result6!==null){result7=parse_End();if(result7!==null){result8=parse_S();result8=result8!==null?result8:"";if(result8!==null){result0=[result0,result1,result2,result3,result4,result5,result6,result7,result8];}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);} | result2=result2!==null?result2:"";if(result2!==null){result3=parse_CC();if(result3!==null){result4=parse_TriggerClause();if(result4!==null){result5=parse_ConditionClause();result5=result5!==null?result5:"";if(result5!==null){result6=parse_ActionClause();result6=result6!==null?result6:"";if(result6!==null){result7=parse_End();if(result7!==null){result8=parse_S();result8=result8!==null?result8:"";if(result8!==null){result0=[result0,result1,result2,result3,result4,result5,result6,result7,result8];}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);} | ||
− | if(result0!==null){result0=(function(offset,line,column,n,tr,co,ac){return["event",{name:n?n[1]:" | + | if(result0!==null){result0=(function(offset,line,column,n,tr,co,ac){return["event",{name:n?n[1]:":anonymous:",trigger:tr,condition:(co?co:function(){return true;}),action:(ac?ac:function(){return true;})}];})(pos0.offset,pos0.line,pos0.column,result0[2],result0[4],result0[5],result0[6]);} |
if(result0===null){pos=clone(pos0);} | if(result0===null){pos=clone(pos0);} | ||
return result0;} | return result0;} |
Version vom 12. Juli 2012, 17:16 Uhr
a2.parser=(function(){function quote(s){return'"'+s.replace(/\\/g,'\\\\').replace(/"/g,'\\"').replace(/\x08/g,'\\b').replace(/\t/g,'\\t').replace(/\n/g,'\\n').replace(/\f/g,'\\f').replace(/\r/g,'\\r').replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)
+'"';}
var result={parse:function(input,startRule){var parseFunctions={"start":parse_start,"Declaration":parse_Declaration,"EventDec":parse_EventDec,"TriggerClause":parse_TriggerClause,"TriggerFunctions":parse_TriggerFunctions,"TriggerFunction":parse_TriggerFunction,"TriggerPageOp":parse_TriggerPageOp,"TriggerIdentOp":parse_TriggerIdentOp,"TriggerBinaryOp":parse_TriggerBinaryOp,"ConditionClause":parse_ConditionClause,"ConditionFunction":parse_ConditionFunction,"ConditionArgs":parse_ConditionArgs,"ActionClause":parse_ActionClause,"ActionFunctions":parse_ActionFunctions,"ActionFunction":parse_ActionFunction,"PageDec":parse_PageDec,"PageVirtualClause":parse_PageVirtualClause,"PageVirtualList":parse_PageVirtualList,"ItemDec":parse_ItemDec,"TitleClause":parse_TitleClause,"ItemVirtualClause":parse_ItemVirtualClause,"ItemVirtualList":parse_ItemVirtualList,"L":parse_L,"R":parse_R,"C":parse_C,"CC":parse_CC,"Identifier":parse_Identifier,"PageVirtual":parse_PageVirtual,"ItemVirtual":parse_ItemVirtual,"Page":parse_Page,"S":parse_S,"String":parse_String,"SingleStringChar":parse_SingleStringChar,"DoubleStringChar":parse_DoubleStringChar,"EscapeSequence":parse_EscapeSequence,"End":parse_End};if(startRule!==undefined){if(parseFunctions[startRule]===undefined){throw new Error("Invalid rule name: "+quote(startRule)+".");}}else{startRule="start";}
var pos={offset:0,line:1,column:1,seenCR:false};var reportFailures=0;var rightmostFailuresPos={offset:0,line:1,column:1,seenCR:false};var rightmostFailuresExpected=[];function padLeft(input,padding,length){var result=input;var padLength=length-input.length;for(var i=0;i<padLength;i++){result=padding+result;}
return result;}
function escape(ch){var charCode=ch.charCodeAt(0);var escapeChar;var length;if(charCode<=0xFF){escapeChar='x';length=2;}else{escapeChar='u';length=4;}
return'\\'+escapeChar+padLeft(charCode.toString(16).toUpperCase(),'0',length);}
function clone(object){var result={};for(var key in object){result[key]=object[key];}
return result;}
function advance(pos,n){var endOffset=pos.offset+n;for(var offset=pos.offset;offset<endOffset;offset++){var ch=input.charAt(offset);if(ch==="\n"){if(!pos.seenCR){pos.line++;}
pos.column=1;pos.seenCR=false;}else if(ch==="\r"||ch==="\u2028"||ch==="\u2029"){pos.line++;pos.column=1;pos.seenCR=true;}else{pos.column++;pos.seenCR=false;}}
pos.offset+=n;}
function matchFailed(failure){if(pos.offset<rightmostFailuresPos.offset){return;}
if(pos.offset>rightmostFailuresPos.offset){rightmostFailuresPos=clone(pos);rightmostFailuresExpected=[];}
rightmostFailuresExpected.push(failure);}
function parse_start(){var result0,result1;result0=[];result1=parse_Declaration();while(result1!==null){result0.push(result1);result1=parse_Declaration();}
return result0;}
function parse_Declaration(){var result0;result0=parse_EventDec();if(result0===null){result0=parse_PageDec();if(result0===null){result0=parse_ItemDec();}}
return result0;}
function parse_EventDec(){var result0,result1,result2,result3,result4,result5,result6,result7,result8;var pos0,pos1,pos2;pos0=clone(pos);pos1=clone(pos);result0=parse_S();result0=result0!==null?result0:"";if(result0!==null){if(input.substr(pos.offset,5)==="event"){result1="event";advance(pos,5);}else{result1=null;if(reportFailures===0){matchFailed("\"event\"");}}
if(result1!==null){pos2=clone(pos);result2=parse_S();if(result2!==null){result3=parse_Identifier();if(result3!==null){result2=[result2,result3];}else{result2=null;pos=clone(pos2);}}else{result2=null;pos=clone(pos2);}
result2=result2!==null?result2:"";if(result2!==null){result3=parse_CC();if(result3!==null){result4=parse_TriggerClause();if(result4!==null){result5=parse_ConditionClause();result5=result5!==null?result5:"";if(result5!==null){result6=parse_ActionClause();result6=result6!==null?result6:"";if(result6!==null){result7=parse_End();if(result7!==null){result8=parse_S();result8=result8!==null?result8:"";if(result8!==null){result0=[result0,result1,result2,result3,result4,result5,result6,result7,result8];}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}
if(result0!==null){result0=(function(offset,line,column,n,tr,co,ac){return["event",{name:n?n[1]:":anonymous:",trigger:tr,condition:(co?co:function(){return true;}),action:(ac?ac:function(){return true;})}];})(pos0.offset,pos0.line,pos0.column,result0[2],result0[4],result0[5],result0[6]);}
if(result0===null){pos=clone(pos0);}
return result0;}
function parse_TriggerClause(){var result0,result1,result2,result3,result4;var pos0,pos1;pos0=clone(pos);pos1=clone(pos);if(input.substr(pos.offset,2)==="on"){result0="on";advance(pos,2);}else{result0=null;if(reportFailures===0){matchFailed("\"on\"");}}
if(result0!==null){result1=parse_S();if(result1!==null){result2=parse_S();result2=result2!==null?result2:"";if(result2!==null){result3=parse_TriggerFunctions();if(result3!==null){result4=parse_CC();if(result4!==null){result0=[result0,result1,result2,result3,result4];}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}
if(result0!==null){result0=(function(offset,line,column,tr){return tr;})(pos0.offset,pos0.line,pos0.column,result0[3]);}
if(result0===null){pos=clone(pos0);}
return result0;}
function parse_TriggerFunctions(){var result0,result1,result2;var pos0,pos1;pos0=clone(pos);pos1=clone(pos);result0=parse_TriggerFunction();if(result0!==null){result1=parse_C();if(result1!==null){result2=parse_TriggerFunctions();if(result2!==null){result0=[result0,result1,result2];}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}
if(result0!==null){result0=(function(offset,line,column,t,o){o.push(t);return o;})(pos0.offset,pos0.line,pos0.column,result0[0],result0[2]);}
if(result0===null){pos=clone(pos0);}
if(result0===null){pos0=clone(pos);result0=parse_TriggerFunction();if(result0!==null){result0=(function(offset,line,column,t){return[t];})(pos0.offset,pos0.line,pos0.column,result0);}
if(result0===null){pos=clone(pos0);}}
return result0;}
function parse_TriggerFunction(){var result0,result1,result2,result3,result4,result5;var pos0,pos1;pos0=clone(pos);pos1=clone(pos);result0=parse_TriggerPageOp();if(result0!==null){result1=parse_L();if(result1!==null){result2=parse_Page();if(result2!==null){result3=parse_R();if(result3!==null){result0=[result0,result1,result2,result3];}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}
if(result0!==null){result0=(function(offset,line,column,t,a){return t+"."+a;})(pos0.offset,pos0.line,pos0.column,result0[0],result0[2]);}
if(result0===null){pos=clone(pos0);}
if(result0===null){pos0=clone(pos);pos1=clone(pos);result0=parse_TriggerIdentOp();if(result0!==null){result1=parse_L();if(result1!==null){result2=parse_Identifier();if(result2!==null){result3=parse_R();if(result3!==null){result0=[result0,result1,result2,result3];}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}
if(result0!==null){result0=(function(offset,line,column,t,a){return t+"."+a;})(pos0.offset,pos0.line,pos0.column,result0[0],result0[2]);}
if(result0===null){pos=clone(pos0);}
if(result0===null){pos0=clone(pos);pos1=clone(pos);result0=parse_TriggerBinaryOp();if(result0!==null){result1=parse_L();if(result1!==null){result2=parse_Identifier();if(result2!==null){result3=parse_C();if(result3!==null){result4=parse_Identifier();if(result4!==null){result5=parse_R();if(result5!==null){result0=[result0,result1,result2,result3,result4,result5];}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}
if(result0!==null){result0=(function(offset,line,column,t,a,b){return[t,a,b].join(".")})(pos0.offset,pos0.line,pos0.column,result0[0],result0[2],result0[4]);}
if(result0===null){pos=clone(pos0);}}}
return result0;}
function parse_TriggerPageOp(){var result0;if(input.substr(pos.offset,5)==="enter"){result0="enter";advance(pos,5);}else{result0=null;if(reportFailures===0){matchFailed("\"enter\"");}}
if(result0===null){if(input.substr(pos.offset,5)==="leave"){result0="leave";advance(pos,5);}else{result0=null;if(reportFailures===0){matchFailed("\"leave\"");}}}
return result0;}
function parse_TriggerIdentOp(){var result0;if(input.substr(pos.offset,3)==="add"){result0="add";advance(pos,3);}else{result0=null;if(reportFailures===0){matchFailed("\"add\"");}}
if(result0===null){if(input.substr(pos.offset,6)==="remove"){result0="remove";advance(pos,6);}else{result0=null;if(reportFailures===0){matchFailed("\"remove\"");}}
if(result0===null){if(input.substr(pos.offset,8)==="activate"){result0="activate";advance(pos,8);}else{result0=null;if(reportFailures===0){matchFailed("\"activate\"");}}
if(result0===null){if(input.substr(pos.offset,5)==="click"){result0="click";advance(pos,5);}else{result0=null;if(reportFailures===0){matchFailed("\"click\"");}}}}}
return result0;}
function parse_TriggerBinaryOp(){var result0;if(input.substr(pos.offset,7)==="combine"){result0="combine";advance(pos,7);}else{result0=null;if(reportFailures===0){matchFailed("\"combine\"");}}
if(result0===null){if(input.substr(pos.offset,5)==="apply"){result0="apply";advance(pos,5);}else{result0=null;if(reportFailures===0){matchFailed("\"apply\"");}}}
return result0;}
function parse_ConditionClause(){var result0,result1,result2,result3;var pos0,pos1;pos0=clone(pos);pos1=clone(pos);if(input.substr(pos.offset,2)==="if"){result0="if";advance(pos,2);}else{result0=null;if(reportFailures===0){matchFailed("\"if\"");}}
if(result0!==null){result1=parse_S();if(result1!==null){result2=parse_ConditionFunction();if(result2!==null){result3=parse_CC();if(result3!==null){result0=[result0,result1,result2,result3];}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}
if(result0!==null){result0=(function(offset,line,column,co){return co;})(pos0.offset,pos0.line,pos0.column,result0[2]);}
if(result0===null){pos=clone(pos0);}
return result0;}
function parse_ConditionFunction(){var result0,result1,result2,result3;var pos0,pos1;pos0=clone(pos);pos1=clone(pos);if(input.substr(pos.offset,4)==="page"){result0="page";advance(pos,4);}else{result0=null;if(reportFailures===0){matchFailed("\"page\"");}}
if(result0!==null){result1=parse_L();if(result1!==null){result2=parse_Page();if(result2!==null){result3=parse_R();if(result3!==null){result0=[result0,result1,result2,result3];}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}
if(result0!==null){result0=(function(offset,line,column,p){return function(){return a2.cpage==p};})(pos0.offset,pos0.line,pos0.column,result0[2]);}
if(result0===null){pos=clone(pos0);}
if(result0===null){pos0=clone(pos);pos1=clone(pos);if(input.substr(pos.offset,3)==="any"){result0="any";advance(pos,3);}else{result0=null;if(reportFailures===0){matchFailed("\"any\"");}}
if(result0!==null){result1=parse_L();if(result1!==null){result2=parse_ConditionArgs();if(result2!==null){result3=parse_R();if(result3!==null){result0=[result0,result1,result2,result3];}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}
if(result0!==null){result0=(function(offset,line,column,a){return function(){for(var j=0;j<a.length;j++)if(a[j]())return true;return false;}})(pos0.offset,pos0.line,pos0.column,result0[2]);}
if(result0===null){pos=clone(pos0);}
if(result0===null){pos0=clone(pos);pos1=clone(pos);if(input.substr(pos.offset,3)==="all"){result0="all";advance(pos,3);}else{result0=null;if(reportFailures===0){matchFailed("\"all\"");}}
if(result0!==null){result1=parse_L();if(result1!==null){result2=parse_ConditionArgs();if(result2!==null){result3=parse_R();if(result3!==null){result0=[result0,result1,result2,result3];}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}
if(result0!==null){result0=(function(offset,line,column,a){return function(){for(var j=0;j<a.length;j++)if(!a[j]())return false;return true;}})(pos0.offset,pos0.line,pos0.column,result0[2]);}
if(result0===null){pos=clone(pos0);}
if(result0===null){pos0=clone(pos);pos1=clone(pos);if(input.substr(pos.offset,3)==="not"){result0="not";advance(pos,3);}else{result0=null;if(reportFailures===0){matchFailed("\"not\"");}}
if(result0!==null){result1=parse_L();if(result1!==null){result2=parse_ConditionFunction();if(result2!==null){result3=parse_R();if(result3!==null){result0=[result0,result1,result2,result3];}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}
if(result0!==null){result0=(function(offset,line,column,f){return function(){return!f()};})(pos0.offset,pos0.line,pos0.column,result0[2]);}
if(result0===null){pos=clone(pos0);}
if(result0===null){pos0=clone(pos);pos1=clone(pos);if(input.substr(pos.offset,4)==="have"){result0="have";advance(pos,4);}else{result0=null;if(reportFailures===0){matchFailed("\"have\"");}}
if(result0!==null){result1=parse_L();if(result1!==null){result2=parse_Identifier();if(result2!==null){result3=parse_R();if(result3!==null){result0=[result0,result1,result2,result3];}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}
if(result0!==null){result0=(function(offset,line,column,i){return function(){return!!a2.items[i]};})(pos0.offset,pos0.line,pos0.column,result0[2]);}
if(result0===null){pos=clone(pos0);}
if(result0===null){pos0=clone(pos);pos1=clone(pos);if(input.substr(pos.offset,4)==="page"){result0="page";advance(pos,4);}else{result0=null;if(reportFailures===0){matchFailed("\"page\"");}}
if(result0!==null){result1=parse_L();if(result1!==null){result2=parse_PageVirtual();if(result2!==null){result3=parse_R();if(result3!==null){result0=[result0,result1,result2,result3];}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}
if(result0!==null){result0=(function(offset,line,column,v){return function(){return!!a2.hasVirtual(v);};})(pos0.offset,pos0.line,pos0.column,result0[2]);}
if(result0===null){pos=clone(pos0);}
if(result0===null){pos0=clone(pos);pos1=clone(pos);if(input.substr(pos.offset,4)==="have"){result0="have";advance(pos,4);}else{result0=null;if(reportFailures===0){matchFailed("\"have\"");}}
if(result0!==null){result1=parse_L();if(result1!==null){result2=parse_ItemVirtual();if(result2!==null){result3=parse_R();if(result3!==null){result0=[result0,result1,result2,result3];}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}
if(result0!==null){result0=(function(offset,line,column,v){return function(){return!!a2.hasVirtual(v);};})(pos0.offset,pos0.line,pos0.column,result0[2]);}
if(result0===null){pos=clone(pos0);}}}}}}}
return result0;}
function parse_ConditionArgs(){var result0,result1,result2;var pos0,pos1;pos0=clone(pos);pos1=clone(pos);result0=parse_ConditionFunction();if(result0!==null){result1=parse_C();if(result1!==null){result2=parse_ConditionArgs();if(result2!==null){result0=[result0,result1,result2];}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}
if(result0!==null){result0=(function(offset,line,column,f,a){a.push(f);return a;})(pos0.offset,pos0.line,pos0.column,result0[0],result0[2]);}
if(result0===null){pos=clone(pos0);}
if(result0===null){pos0=clone(pos);result0=parse_ConditionFunction();if(result0!==null){result0=(function(offset,line,column,f){return[f];})(pos0.offset,pos0.line,pos0.column,result0);}
if(result0===null){pos=clone(pos0);}}
return result0;}
function parse_ActionClause(){var result0,result1,result2,result3;var pos0,pos1;pos0=clone(pos);pos1=clone(pos);if(input.substr(pos.offset,2)==="do"){result0="do";advance(pos,2);}else{result0=null;if(reportFailures===0){matchFailed("\"do\"");}}
if(result0!==null){result1=parse_S();if(result1!==null){result2=parse_ActionFunctions();if(result2!==null){result3=parse_CC();if(result3!==null){result0=[result0,result1,result2,result3];}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}
if(result0!==null){result0=(function(offset,line,column,ac){return ac;})(pos0.offset,pos0.line,pos0.column,result0[2]);}
if(result0===null){pos=clone(pos0);}
return result0;}
function parse_ActionFunctions(){var result0,result1,result2;var pos0,pos1;pos0=clone(pos);pos1=clone(pos);result0=parse_ActionFunction();if(result0!==null){result1=parse_C();if(result1!==null){result2=parse_ActionFunctions();if(result2!==null){result0=[result0,result1,result2];}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}
if(result0!==null){result0=(function(offset,line,column,f,a){return function(action){a();f();};})(pos0.offset,pos0.line,pos0.column,result0[0],result0[2]);}
if(result0===null){pos=clone(pos0);}
if(result0===null){result0=parse_ActionFunction();}
return result0;}
function parse_ActionFunction(){var result0,result1,result2,result3;var pos0,pos1;pos0=clone(pos);pos1=clone(pos);if(input.substr(pos.offset,4)==="goto"){result0="goto";advance(pos,4);}else{result0=null;if(reportFailures===0){matchFailed("\"goto\"");}}
if(result0!==null){result1=parse_L();if(result1!==null){result2=parse_Page();if(result2!==null){result3=parse_R();if(result3!==null){result0=[result0,result1,result2,result3];}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}
if(result0!==null){result0=(function(offset,line,column,f,p){return function(){a2.util.goto(p)};})(pos0.offset,pos0.line,pos0.column,result0[0],result0[2]);}
if(result0===null){pos=clone(pos0);}
if(result0===null){pos0=clone(pos);pos1=clone(pos);if(input.substr(pos.offset,3)==="add"){result0="add";advance(pos,3);}else{result0=null;if(reportFailures===0){matchFailed("\"add\"");}}
if(result0!==null){result1=parse_L();if(result1!==null){result2=parse_Identifier();if(result2!==null){result3=parse_R();if(result3!==null){result0=[result0,result1,result2,result3];}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}
if(result0!==null){result0=(function(offset,line,column,f,i){return function(){a2.util.add(i)};})(pos0.offset,pos0.line,pos0.column,result0[0],result0[2]);}
if(result0===null){pos=clone(pos0);}
if(result0===null){pos0=clone(pos);pos1=clone(pos);if(input.substr(pos.offset,6)==="remove"){result0="remove";advance(pos,6);}else{result0=null;if(reportFailures===0){matchFailed("\"remove\"");}}
if(result0!==null){result1=parse_L();if(result1!==null){result2=parse_Identifier();if(result2!==null){result3=parse_R();if(result3!==null){result0=[result0,result1,result2,result3];}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}
if(result0!==null){result0=(function(offset,line,column,f,i){return function(){a2.util.remove(i)};})(pos0.offset,pos0.line,pos0.column,result0[0],result0[2]);}
if(result0===null){pos=clone(pos0);}
if(result0===null){pos0=clone(pos);pos1=clone(pos);if(input.substr(pos.offset,5)==="print"){result0="print";advance(pos,5);}else{result0=null;if(reportFailures===0){matchFailed("\"print\"");}}
if(result0!==null){result1=parse_L();if(result1!==null){result2=parse_String();if(result2!==null){result3=parse_R();if(result3!==null){result0=[result0,result1,result2,result3];}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}
if(result0!==null){result0=(function(offset,line,column,f,s){return function(){a2.util.print(s)};})(pos0.offset,pos0.line,pos0.column,result0[0],result0[2]);}
if(result0===null){pos=clone(pos0);}
if(result0===null){pos0=clone(pos);pos1=clone(pos);if(input.substr(pos.offset,3)==="die"){result0="die";advance(pos,3);}else{result0=null;if(reportFailures===0){matchFailed("\"die\"");}}
if(result0!==null){result1=parse_L();if(result1!==null){result2=parse_String();if(result2!==null){result3=parse_R();if(result3!==null){result0=[result0,result1,result2,result3];}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}
if(result0!==null){result0=(function(offset,line,column,f,s){return function(){a2.util.die(s)};})(pos0.offset,pos0.line,pos0.column,result0[0],result0[2]);}
if(result0===null){pos=clone(pos0);}}}}}
return result0;}
function parse_PageDec(){var result0,result1,result2,result3;var pos0,pos1;pos0=clone(pos);pos1=clone(pos);if(input.substr(pos.offset,4)==="page"){result0="page";advance(pos,4);}else{result0=null;if(reportFailures===0){matchFailed("\"page\"");}}
if(result0!==null){result1=parse_CC();if(result1!==null){result2=parse_PageVirtualClause();result2=result2!==null?result2:"";if(result2!==null){result3=parse_End();if(result3!==null){result0=[result0,result1,result2,result3];}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}
if(result0!==null){result0=(function(offset,line,column,pv){return["page",{virt:pv}];})(pos0.offset,pos0.line,pos0.column,result0[2]);}
if(result0===null){pos=clone(pos0);}
return result0;}
function parse_PageVirtualClause(){var result0,result1,result2,result3;var pos0,pos1;pos0=clone(pos);pos1=clone(pos);if(input.substr(pos.offset,8)==="provides"){result0="provides";advance(pos,8);}else{result0=null;if(reportFailures===0){matchFailed("\"provides\"");}}
if(result0!==null){result1=parse_S();if(result1!==null){result2=parse_PageVirtualList();if(result2!==null){result3=parse_CC();if(result3!==null){result0=[result0,result1,result2,result3];}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}
if(result0!==null){result0=(function(offset,line,column,v){return v;})(pos0.offset,pos0.line,pos0.column,result0[2]);}
if(result0===null){pos=clone(pos0);}
return result0;}
function parse_PageVirtualList(){var result0,result1,result2;var pos0,pos1;pos0=clone(pos);pos1=clone(pos);result0=parse_PageVirtual();if(result0!==null){result1=parse_C();if(result1!==null){result2=parse_PageVirtualList();if(result2!==null){result0=[result0,result1,result2];}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}
if(result0!==null){result0=(function(offset,line,column,v,vl){vl.push(v);return vl;})(pos0.offset,pos0.line,pos0.column,result0[0],result0[2]);}
if(result0===null){pos=clone(pos0);}
if(result0===null){pos0=clone(pos);result0=parse_PageVirtual();if(result0!==null){result0=(function(offset,line,column,v){return[v];})(pos0.offset,pos0.line,pos0.column,result0);}
if(result0===null){pos=clone(pos0);}}
return result0;}
function parse_ItemDec(){var result0,result1,result2,result3,result4;var pos0,pos1;pos0=clone(pos);pos1=clone(pos);if(input.substr(pos.offset,4)==="item"){result0="item";advance(pos,4);}else{result0=null;if(reportFailures===0){matchFailed("\"item\"");}}
if(result0!==null){result1=parse_CC();if(result1!==null){result2=parse_TitleClause();result2=result2!==null?result2:"";if(result2!==null){result3=parse_ItemVirtualClause();result3=result3!==null?result3:"";if(result3!==null){result4=parse_End();if(result4!==null){result0=[result0,result1,result2,result3,result4];}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}
if(result0!==null){result0=(function(offset,line,column,t,iv){return["item",{virt:iv,title:t}];})(pos0.offset,pos0.line,pos0.column,result0[2],result0[3]);}
if(result0===null){pos=clone(pos0);}
return result0;}
function parse_TitleClause(){var result0,result1,result2,result3;var pos0,pos1;pos0=clone(pos);pos1=clone(pos);if(input.substr(pos.offset,5)==="title"){result0="title";advance(pos,5);}else{result0=null;if(reportFailures===0){matchFailed("\"title\"");}}
if(result0!==null){result1=parse_S();if(result1!==null){result2=parse_String();if(result2!==null){result3=parse_CC();if(result3!==null){result0=[result0,result1,result2,result3];}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}
if(result0!==null){result0=(function(offset,line,column,s){return s;})(pos0.offset,pos0.line,pos0.column,result0[2]);}
if(result0===null){pos=clone(pos0);}
return result0;}
function parse_ItemVirtualClause(){var result0,result1,result2,result3;var pos0,pos1;pos0=clone(pos);pos1=clone(pos);if(input.substr(pos.offset,8)==="provides"){result0="provides";advance(pos,8);}else{result0=null;if(reportFailures===0){matchFailed("\"provides\"");}}
if(result0!==null){result1=parse_S();if(result1!==null){result2=parse_ItemVirtualList();if(result2!==null){result3=parse_CC();if(result3!==null){result0=[result0,result1,result2,result3];}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}
if(result0!==null){result0=(function(offset,line,column,v){return v;})(pos0.offset,pos0.line,pos0.column,result0[2]);}
if(result0===null){pos=clone(pos0);}
return result0;}
function parse_ItemVirtualList(){var result0,result1,result2;var pos0,pos1;pos0=clone(pos);pos1=clone(pos);result0=parse_ItemVirtual();if(result0!==null){result1=parse_C();if(result1!==null){result2=parse_ItemVirtualList();if(result2!==null){result0=[result0,result1,result2];}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}
if(result0!==null){result0=(function(offset,line,column,v,vl){vl.push(v);return vl;})(pos0.offset,pos0.line,pos0.column,result0[0],result0[2]);}
if(result0===null){pos=clone(pos0);}
if(result0===null){pos0=clone(pos);result0=parse_ItemVirtual();if(result0!==null){result0=(function(offset,line,column,v){return[v];})(pos0.offset,pos0.line,pos0.column,result0);}
if(result0===null){pos=clone(pos0);}}
return result0;}
function parse_L(){var result0,result1,result2;var pos0;pos0=clone(pos);result0=parse_S();result0=result0!==null?result0:"";if(result0!==null){if(input.charCodeAt(pos.offset)===40){result1="(";advance(pos,1);}else{result1=null;if(reportFailures===0){matchFailed("\"(\"");}}
if(result1!==null){result2=parse_S();result2=result2!==null?result2:"";if(result2!==null){result0=[result0,result1,result2];}else{result0=null;pos=clone(pos0);}}else{result0=null;pos=clone(pos0);}}else{result0=null;pos=clone(pos0);}
return result0;}
function parse_R(){var result0,result1,result2;var pos0;pos0=clone(pos);result0=parse_S();result0=result0!==null?result0:"";if(result0!==null){if(input.charCodeAt(pos.offset)===41){result1=")";advance(pos,1);}else{result1=null;if(reportFailures===0){matchFailed("\")\"");}}
if(result1!==null){result2=parse_S();result2=result2!==null?result2:"";if(result2!==null){result0=[result0,result1,result2];}else{result0=null;pos=clone(pos0);}}else{result0=null;pos=clone(pos0);}}else{result0=null;pos=clone(pos0);}
return result0;}
function parse_C(){var result0,result1,result2;var pos0;pos0=clone(pos);result0=parse_S();result0=result0!==null?result0:"";if(result0!==null){if(input.charCodeAt(pos.offset)===44){result1=",";advance(pos,1);}else{result1=null;if(reportFailures===0){matchFailed("\",\"");}}
if(result1!==null){result2=parse_S();result2=result2!==null?result2:"";if(result2!==null){result0=[result0,result1,result2];}else{result0=null;pos=clone(pos0);}}else{result0=null;pos=clone(pos0);}}else{result0=null;pos=clone(pos0);}
return result0;}
function parse_CC(){var result0,result1,result2;var pos0;pos0=clone(pos);result0=parse_S();result0=result0!==null?result0:"";if(result0!==null){if(input.charCodeAt(pos.offset)===59){result1=";";advance(pos,1);}else{result1=null;if(reportFailures===0){matchFailed("\";\"");}}
if(result1!==null){result2=parse_S();result2=result2!==null?result2:"";if(result2!==null){result0=[result0,result1,result2];}else{result0=null;pos=clone(pos0);}}else{result0=null;pos=clone(pos0);}}else{result0=null;pos=clone(pos0);}
return result0;}
function parse_Identifier(){var result0,result1,result2;var pos0,pos1;pos0=clone(pos);pos1=clone(pos);if(/^[a-z\xE4\xF6\xFC_]/.test(input.charAt(pos.offset))){result0=input.charAt(pos.offset);advance(pos,1);}else{result0=null;if(reportFailures===0){matchFailed("[a-z\\xE4\\xF6\\xFC_]");}}
if(result0!==null){result1=[];if(/^[a-z\xE4\xF6\xFC_]/.test(input.charAt(pos.offset))){result2=input.charAt(pos.offset);advance(pos,1);}else{result2=null;if(reportFailures===0){matchFailed("[a-z\\xE4\\xF6\\xFC_]");}}
while(result2!==null){result1.push(result2);if(/^[a-z\xE4\xF6\xFC_]/.test(input.charAt(pos.offset))){result2=input.charAt(pos.offset);advance(pos,1);}else{result2=null;if(reportFailures===0){matchFailed("[a-z\\xE4\\xF6\\xFC_]");}}}
if(result1!==null){result0=[result0,result1];}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}
if(result0!==null){result0=(function(offset,line,column,i1,i2){return i1+i2.join("");})(pos0.offset,pos0.line,pos0.column,result0[0],result0[1]);}
if(result0===null){pos=clone(pos0);}
return result0;}
function parse_PageVirtual(){var result0,result1;var pos0,pos1;pos0=clone(pos);pos1=clone(pos);if(input.charCodeAt(pos.offset)===64){result0="@";advance(pos,1);}else{result0=null;if(reportFailures===0){matchFailed("\"@\"");}}
if(result0!==null){result1=parse_Identifier();if(result1!==null){result0=[result0,result1];}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}
if(result0!==null){result0=(function(offset,line,column,p,i){return p+i;})(pos0.offset,pos0.line,pos0.column,result0[0],result0[1]);}
if(result0===null){pos=clone(pos0);}
return result0;}
function parse_ItemVirtual(){var result0,result1;var pos0,pos1;pos0=clone(pos);pos1=clone(pos);if(input.charCodeAt(pos.offset)===58){result0=":";advance(pos,1);}else{result0=null;if(reportFailures===0){matchFailed("\":\"");}}
if(result0!==null){result1=parse_Identifier();if(result1!==null){result0=[result0,result1];}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}
if(result0!==null){result0=(function(offset,line,column,p,i){return p+i;})(pos0.offset,pos0.line,pos0.column,result0[0],result0[1]);}
if(result0===null){pos=clone(pos0);}
return result0;}
function parse_Page(){var result0,result1;var pos0;pos0=clone(pos);if(/^[0-9]/.test(input.charAt(pos.offset))){result1=input.charAt(pos.offset);advance(pos,1);}else{result1=null;if(reportFailures===0){matchFailed("[0-9]");}}
if(result1!==null){result0=[];while(result1!==null){result0.push(result1);if(/^[0-9]/.test(input.charAt(pos.offset))){result1=input.charAt(pos.offset);advance(pos,1);}else{result1=null;if(reportFailures===0){matchFailed("[0-9]");}}}}else{result0=null;}
if(result0!==null){result0=(function(offset,line,column,p){return p.join("");})(pos0.offset,pos0.line,pos0.column,result0);}
if(result0===null){pos=clone(pos0);}
return result0;}
function parse_S(){var result0,result1,result2,result3,result4;var pos0;pos0=clone(pos);result0=[];if(/^[ \t\n]/.test(input.charAt(pos.offset))){result1=input.charAt(pos.offset);advance(pos,1);}else{result1=null;if(reportFailures===0){matchFailed("[ \\t\\n]");}}
while(result1!==null){result0.push(result1);if(/^[ \t\n]/.test(input.charAt(pos.offset))){result1=input.charAt(pos.offset);advance(pos,1);}else{result1=null;if(reportFailures===0){matchFailed("[ \\t\\n]");}}}
if(result0!==null){if(input.substr(pos.offset,2)==="/*"){result1="/*";advance(pos,2);}else{result1=null;if(reportFailures===0){matchFailed("\"/*\"");}}
if(result1!==null){result2=[];if(/^[^*]/.test(input.charAt(pos.offset))){result3=input.charAt(pos.offset);advance(pos,1);}else{result3=null;if(reportFailures===0){matchFailed("[^*]");}}
while(result3!==null){result2.push(result3);if(/^[^*]/.test(input.charAt(pos.offset))){result3=input.charAt(pos.offset);advance(pos,1);}else{result3=null;if(reportFailures===0){matchFailed("[^*]");}}}
if(result2!==null){if(input.substr(pos.offset,2)==="*/"){result3="*/";advance(pos,2);}else{result3=null;if(reportFailures===0){matchFailed("\"*/\"");}}
if(result3!==null){result4=parse_S();result4=result4!==null?result4:"";if(result4!==null){result0=[result0,result1,result2,result3,result4];}else{result0=null;pos=clone(pos0);}}else{result0=null;pos=clone(pos0);}}else{result0=null;pos=clone(pos0);}}else{result0=null;pos=clone(pos0);}}else{result0=null;pos=clone(pos0);}
if(result0===null){pos0=clone(pos);result0=[];if(/^[ \t\n]/.test(input.charAt(pos.offset))){result1=input.charAt(pos.offset);advance(pos,1);}else{result1=null;if(reportFailures===0){matchFailed("[ \\t\\n]");}}
while(result1!==null){result0.push(result1);if(/^[ \t\n]/.test(input.charAt(pos.offset))){result1=input.charAt(pos.offset);advance(pos,1);}else{result1=null;if(reportFailures===0){matchFailed("[ \\t\\n]");}}}
if(result0!==null){if(input.substr(pos.offset,2)==="//"){result1="//";advance(pos,2);}else{result1=null;if(reportFailures===0){matchFailed("\"//\"");}}
if(result1!==null){result2=[];if(/^[^\n]/.test(input.charAt(pos.offset))){result3=input.charAt(pos.offset);advance(pos,1);}else{result3=null;if(reportFailures===0){matchFailed("[^\\n]");}}
while(result3!==null){result2.push(result3);if(/^[^\n]/.test(input.charAt(pos.offset))){result3=input.charAt(pos.offset);advance(pos,1);}else{result3=null;if(reportFailures===0){matchFailed("[^\\n]");}}}
if(result2!==null){if(/^[\n]/.test(input.charAt(pos.offset))){result3=input.charAt(pos.offset);advance(pos,1);}else{result3=null;if(reportFailures===0){matchFailed("[\\n]");}}
if(result3!==null){result4=parse_S();result4=result4!==null?result4:"";if(result4!==null){result0=[result0,result1,result2,result3,result4];}else{result0=null;pos=clone(pos0);}}else{result0=null;pos=clone(pos0);}}else{result0=null;pos=clone(pos0);}}else{result0=null;pos=clone(pos0);}}else{result0=null;pos=clone(pos0);}
if(result0===null){if(/^[ \t\n]/.test(input.charAt(pos.offset))){result1=input.charAt(pos.offset);advance(pos,1);}else{result1=null;if(reportFailures===0){matchFailed("[ \\t\\n]");}}
if(result1!==null){result0=[];while(result1!==null){result0.push(result1);if(/^[ \t\n]/.test(input.charAt(pos.offset))){result1=input.charAt(pos.offset);advance(pos,1);}else{result1=null;if(reportFailures===0){matchFailed("[ \\t\\n]");}}}}else{result0=null;}}}
return result0;}
function parse_String(){var result0,result1,result2;var pos0,pos1;pos0=clone(pos);pos1=clone(pos);if(input.charCodeAt(pos.offset)===39){result0="'";advance(pos,1);}else{result0=null;if(reportFailures===0){matchFailed("\"'\"");}}
if(result0!==null){result1=[];result2=parse_SingleStringChar();while(result2!==null){result1.push(result2);result2=parse_SingleStringChar();}
if(result1!==null){if(input.charCodeAt(pos.offset)===39){result2="'";advance(pos,1);}else{result2=null;if(reportFailures===0){matchFailed("\"'\"");}}
if(result2!==null){result0=[result0,result1,result2];}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}
if(result0!==null){result0=(function(offset,line,column,s){return s.join("");})(pos0.offset,pos0.line,pos0.column,result0[1]);}
if(result0===null){pos=clone(pos0);}
if(result0===null){pos0=clone(pos);pos1=clone(pos);if(input.charCodeAt(pos.offset)===34){result0="\"";advance(pos,1);}else{result0=null;if(reportFailures===0){matchFailed("\"\\\"\"");}}
if(result0!==null){result1=[];result2=parse_DoubleStringChar();while(result2!==null){result1.push(result2);result2=parse_DoubleStringChar();}
if(result1!==null){if(input.charCodeAt(pos.offset)===34){result2="\"";advance(pos,1);}else{result2=null;if(reportFailures===0){matchFailed("\"\\\"\"");}}
if(result2!==null){result0=[result0,result1,result2];}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}}else{result0=null;pos=clone(pos1);}
if(result0!==null){result0=(function(offset,line,column,s){return s.join("");})(pos0.offset,pos0.line,pos0.column,result0[1]);}
if(result0===null){pos=clone(pos0);}}
return result0;}
function parse_SingleStringChar(){var result0;result0=parse_EscapeSequence();if(result0===null){if(/^[^']/.test(input.charAt(pos.offset))){result0=input.charAt(pos.offset);advance(pos,1);}else{result0=null;if(reportFailures===0){matchFailed("[^']");}}}
return result0;}
function parse_DoubleStringChar(){var result0;result0=parse_EscapeSequence();if(result0===null){if(/^[^"]/.test(input.charAt(pos.offset))){result0=input.charAt(pos.offset);advance(pos,1);}else{result0=null;if(reportFailures===0){matchFailed("[^\"]");}}}
return result0;}
function parse_EscapeSequence(){var result0;var pos0;pos0=clone(pos);if(input.substr(pos.offset,2)==="\\n"){result0="\\n";advance(pos,2);}else{result0=null;if(reportFailures===0){matchFailed("\"\\\\n\"");}}
if(result0!==null){result0=(function(offset,line,column){return"\n";})(pos0.offset,pos0.line,pos0.column);}
if(result0===null){pos=clone(pos0);}
if(result0===null){pos0=clone(pos);if(input.substr(pos.offset,2)==="\\\""){result0="\\\"";advance(pos,2);}else{result0=null;if(reportFailures===0){matchFailed("\"\\\\\\\"\"");}}
if(result0!==null){result0=(function(offset,line,column){return'"';})(pos0.offset,pos0.line,pos0.column);}
if(result0===null){pos=clone(pos0);}
if(result0===null){pos0=clone(pos);if(input.substr(pos.offset,2)==="\\'"){result0="\\'";advance(pos,2);}else{result0=null;if(reportFailures===0){matchFailed("\"\\\\'\"");}}
if(result0!==null){result0=(function(offset,line,column){return"'";})(pos0.offset,pos0.line,pos0.column);}
if(result0===null){pos=clone(pos0);}}}
return result0;}
function parse_End(){var result0,result1,result2,result3;var pos0;pos0=clone(pos);if(input.substr(pos.offset,3)==="end"){result0="end";advance(pos,3);}else{result0=null;if(reportFailures===0){matchFailed("\"end\"");}}
if(result0!==null){result1=parse_S();result1=result1!==null?result1:"";if(result1!==null){if(input.charCodeAt(pos.offset)===46){result2=".";advance(pos,1);}else{result2=null;if(reportFailures===0){matchFailed("\".\"");}}
if(result2!==null){result3=parse_S();result3=result3!==null?result3:"";if(result3!==null){result0=[result0,result1,result2,result3];}else{result0=null;pos=clone(pos0);}}else{result0=null;pos=clone(pos0);}}else{result0=null;pos=clone(pos0);}}else{result0=null;pos=clone(pos0);}
return result0;}
function cleanupExpected(expected){expected.sort();var lastExpected=null;var cleanExpected=[];for(var i=0;i<expected.length;i++){if(expected[i]!==lastExpected){cleanExpected.push(expected[i]);lastExpected=expected[i];}}
return cleanExpected;}
var result=parseFunctions[startRule]();if(result===null||pos.offset!==input.length){var offset=Math.max(pos.offset,rightmostFailuresPos.offset);var found=offset<input.length?input.charAt(offset):null;var errorPosition=pos.offset>rightmostFailuresPos.offset?pos:rightmostFailuresPos;throw new this.SyntaxError(cleanupExpected(rightmostFailuresExpected),found,offset,errorPosition.line,errorPosition.column);}
return result;},toSource:function(){return this._source;}};result.SyntaxError=function(expected,found,offset,line,column){function buildMessage(expected,found){var expectedHumanized,foundHumanized;switch(expected.length){case 0:expectedHumanized="end of input";break;case 1:expectedHumanized=expected[0];break;default:expectedHumanized=expected.slice(0,expected.length-1).join(", ")
+" or "
+expected[expected.length-1];}
foundHumanized=found?quote(found):"end of input";return"Expected "+expectedHumanized+" but "+foundHumanized+" found.";}
this.name="SyntaxError";this.expected=expected;this.found=found;this.message=buildMessage(expected,found);this.offset=offset;this.line=line;this.column=column;};result.SyntaxError.prototype=Error.prototype;return result;})();