735 lines
80 KiB
JavaScript
735 lines
80 KiB
JavaScript
|
/* parser generated by jison 0.4.15 */
|
||
|
/*
|
||
|
Returns a Parser object of the following structure:
|
||
|
|
||
|
Parser: {
|
||
|
yy: {}
|
||
|
}
|
||
|
|
||
|
Parser.prototype: {
|
||
|
yy: {},
|
||
|
trace: function(),
|
||
|
symbols_: {associative list: name ==> number},
|
||
|
terminals_: {associative list: number ==> name},
|
||
|
productions_: [...],
|
||
|
performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$),
|
||
|
table: [...],
|
||
|
defaultActions: {...},
|
||
|
parseError: function(str, hash),
|
||
|
parse: function(input),
|
||
|
|
||
|
lexer: {
|
||
|
EOF: 1,
|
||
|
parseError: function(str, hash),
|
||
|
setInput: function(input),
|
||
|
input: function(),
|
||
|
unput: function(str),
|
||
|
more: function(),
|
||
|
less: function(n),
|
||
|
pastInput: function(),
|
||
|
upcomingInput: function(),
|
||
|
showPosition: function(),
|
||
|
test_match: function(regex_match_array, rule_index),
|
||
|
next: function(),
|
||
|
lex: function(),
|
||
|
begin: function(condition),
|
||
|
popState: function(),
|
||
|
_currentRules: function(),
|
||
|
topState: function(),
|
||
|
pushState: function(condition),
|
||
|
|
||
|
options: {
|
||
|
ranges: boolean (optional: true ==> token location info will include a .range[] member)
|
||
|
flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match)
|
||
|
backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code)
|
||
|
},
|
||
|
|
||
|
performAction: function(yy, yy_, $avoiding_name_collisions, YY_START),
|
||
|
rules: [...],
|
||
|
conditions: {associative list: name ==> set},
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
token location info (@$, _$, etc.): {
|
||
|
first_line: n,
|
||
|
last_line: n,
|
||
|
first_column: n,
|
||
|
last_column: n,
|
||
|
range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based)
|
||
|
}
|
||
|
|
||
|
|
||
|
the parseError function receives a 'hash' object with these members for lexer and parser errors: {
|
||
|
text: (matched text)
|
||
|
token: (the produced terminal token, if any)
|
||
|
line: (yylineno)
|
||
|
}
|
||
|
while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: {
|
||
|
loc: (yylloc)
|
||
|
expected: (string describing the set of expected tokens)
|
||
|
recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error)
|
||
|
}
|
||
|
*/
|
||
|
var parser = (function(){
|
||
|
var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,20],$V1=[1,75],$V2=[1,71],$V3=[1,76],$V4=[1,77],$V5=[1,73],$V6=[1,74],$V7=[1,50],$V8=[1,52],$V9=[1,53],$Va=[1,54],$Vb=[1,55],$Vc=[1,45],$Vd=[1,46],$Ve=[1,27],$Vf=[1,60],$Vg=[1,61],$Vh=[1,70],$Vi=[1,43],$Vj=[1,26],$Vk=[1,58],$Vl=[1,59],$Vm=[1,57],$Vn=[1,38],$Vo=[1,44],$Vp=[1,56],$Vq=[1,65],$Vr=[1,66],$Vs=[1,67],$Vt=[1,68],$Vu=[1,42],$Vv=[1,64],$Vw=[1,29],$Vx=[1,30],$Vy=[1,31],$Vz=[1,32],$VA=[1,33],$VB=[1,34],$VC=[1,35],$VD=[1,78],$VE=[1,6,26,34,109],$VF=[1,88],$VG=[1,81],$VH=[1,80],$VI=[1,79],$VJ=[1,82],$VK=[1,83],$VL=[1,84],$VM=[1,85],$VN=[1,86],$VO=[1,87],$VP=[1,91],$VQ=[1,6,25,26,34,56,61,64,80,85,93,98,100,109,111,112,113,117,118,133,136,137,142,143,144,145,146,147,148],$VR=[1,97],$VS=[1,98],$VT=[1,99],$VU=[1,100],$VV=[1,102],$VW=[1,103],$VX=[1,96],$VY=[2,115],$VZ=[1,6,25,26,34,56,61,64,73,74,75,76,78,80,81,85,91,92,93,98,100,109,111,112,113,117,118,133,136,137,142,143,144,145,146,147,148],$V_=[2,82],$V$=[1,108],$V01=[2,61],$V11=[1,112],$V21=[1,117],$V31=[1,118],$V41=[1,120],$V51=[1,6,25,26,34,46,56,61,64,73,74,75,76,78,80,81,85,91,92,93,98,100,109,111,112,113,117,118,133,136,137,142,143,144,145,146,147,148],$V61=[2,79],$V71=[1,6,26,34,56,61,64,80,85,93,98,100,109,111,112,113,117,118,133,136,137,142,143,144,145,146,147,148],$V81=[1,155],$V91=[1,157],$Va1=[1,152],$Vb1=[1,6,25,26,34,46,56,61,64,73,74,75,76,78,80,81,85,87,91,92,93,98,100,109,111,112,113,117,118,133,136,137,140,141,142,143,144,145,146,147,148,149],$Vc1=[2,98],$Vd1=[1,6,25,26,34,49,56,61,64,73,74,75,76,78,80,81,85,91,92,93,98,100,109,111,112,113,117,118,133,136,137,142,143,144,145,146,147,148],$Ve1=[1,6,25,26,34,46,49,56,61,64,73,74,75,76,78,80,81,85,87,91,92,93,98,100,109,111,112,113,117,118,124,125,133,136,137,140,141,142,143,144,145,146,147,148,149],$Vf1=[1,207],$Vg1=[1,206],$Vh1=[1,6,25,26,34,38,56,61,64,73,74,75,76,78,80,81,85,91,92,93,98,100,109,111,112,113,117,118,133,136,137,142,143,144,145,146,147,148],$Vi1=[2,59],$Vj1=[1,217],$Vk1=[6,25,26,56,61],$Vl1=[6,25,26,46,56,61,64],$Vm1=[1,6,25,26,34,56,61,64,80,85,93,98,100,109,111,112,113,117,118,133,136,137,143,145,146,147,148],$Vn1=[1,6,25,26,34,56,61,64,80,85,93,98,100,109,111,112,113,117,118,133],$Vo1=[73,74,75,76,78,81,91,92],$Vp1=[1,236],$Vq1=[2,136],$Vr1=[1,6,25,26,34,46,56,61,64,73,74,75,76,78,80,81,85,91,92,93,98,100,109,111,112,113,117,118,124,125,133,136,137,142,143,144,145,146,147,148],$Vs1=[1,245],$Vt1=[6,25,26,61,93,98],$Vu1=[1,6,25,26,34,56,61,64,80,85,93,98,100,109,118,133],$Vv1=[1,6,25,26,34,56,61,64,80,85,93,98,100,109,112,118,133],$Vw1=[124,125],$Vx1=[61,124,125],$Vy1=[1,256],$Vz1=[6,25,26,61,85],$VA1=[6,25,26,49,61,85],$VB1=[6,25,26,46,49,61,85],$VC1=[1,6,25,26,34,56,61,64,80,85,93,98,100,109,111,112,113,117,118,133,136,137,145,146,147,148],$VD1=[11,28,30,32,33,36,37,40,41,42,43,44,52,53,54,58,59,80,83,86,90,95,96,97,103,107,108,111,113,115,117,126,132,134,135,136,137,138,140,141],$VE1=[2,125],$VF1=[6,25,26],$VG1=[2,60],$VH1=[1,270],$VI1=[1,271],$VJ1=[1,6,25,26,34,56,61,64,80,85,93,98,100,105,106,109,111,112,113,117,118,128,130,133,136,137,142,143,144,145,146,147,148],$VK1=[26,128,130],$VL1=[1,6,26,34,56,61,64,80,85,93,98,100,109,112,118,133],$VM1=[2,74],$VN1=[1,293],$VO1=[1,294],$VP1=[1,6,25,26,34,56,61,64,80,85,93,98,100,109,111,112,113,117,118,128,133,136,137,142,143,144,145,146,147,148],$VQ1=[1,6,25,26,34,56,61,64,80,85,93,98,100,109,111,113,117,118,133],$VR1=[1,305],$VS1=[1,306],$VT1=[6,25,26,61],$VU1=[1,6,25,26,34,56,61,64,80,85,93,98,100,105,109,111,112,113,117,118,133,136,137,142,143,144,145,146,147,148],$VV1=[25,61];
|
||
|
var parser = {trace: function trace() { },
|
||
|
yy: {},
|
||
|
symbols_: {"error":2,"Root":3,"Body":4,"Line":5,"TERMINATOR":6,"Expression":7,"Statement":8,"Return":9,"Comment":10,"STATEMENT":11,"Value":12,"Invocation":13,"Code":14,"Operation":15,"Assign":16,"If":17,"Try":18,"While":19,"For":20,"Switch":21,"Class":22,"Throw":23,"Block":24,"INDENT":25,"OUTDENT":26,"Identifier":27,"IDENTIFIER":28,"AlphaNumeric":29,"NUMBER":30,"String":31,"STRING":32,"STRING_START":33,"STRING_END":34,"Regex":35,"REGEX":36,"REGEX_START":37,"REGEX_END":38,"Literal":39,"JS":40,"DEBUGGER":41,"UNDEFINED":42,"NULL":43,"BOOL":44,"Assignable":45,"=":46,"AssignObj":47,"ObjAssignable":48,":":49,"SimpleObjAssignable":50,"ThisProperty":51,"RETURN":52,"HERECOMMENT":53,"PARAM_START":54,"ParamList":55,"PARAM_END":56,"FuncGlyph":57,"->":58,"=>":59,"OptComma":60,",":61,"Param":62,"ParamVar":63,"...":64,"Array":65,"Object":66,"Splat":67,"SimpleAssignable":68,"Accessor":69,"Parenthetical":70,"Range":71,"This":72,".":73,"?.":74,"::":75,"?::":76,"Index":77,"INDEX_START":78,"IndexValue":79,"INDEX_END":80,"INDEX_SOAK":81,"Slice":82,"{":83,"AssignList":84,"}":85,"CLASS":86,"EXTENDS":87,"OptFuncExist":88,"Arguments":89,"SUPER":90,"FUNC_EXIST":91,"CALL_START":92,"CALL_END":93,"ArgList":94,"THIS":95,"@":96,"[":97,"]":98,"RangeDots":99,"..":100,"Arg":101,"SimpleArgs":102,"TRY":103,"Catch":104,"FINALLY":105,"CATCH":106,"THROW":107,"(":108,")":109,"WhileSource":110,"WHILE":111,"WHEN":112,"UNTIL":113,"Loop":114,"LOOP":115,"ForBody":116,"FOR":117,"BY":118,"ForStart":119,"ForSource":120,"ForVariables":121,"OWN":122,"ForValue":123,"FORIN":124,"FOROF":125,"SWITCH":126,"Whens":127,"ELSE":128,"When":129,"LEADING_WHEN":130,"IfBlock":131,"IF":132,"POST_IF":133,"UNARY":134,"UNARY_MATH":135,"-":136,"+":137,"YIELD":138,"FROM":139,"--":140,"++":141,"?":142,"MATH":143,"**":144,"SHIFT":145,"COMPARE":146,"LOGIC":147,"RELATION":148,"COMPOUND_ASSIGN":149,"$accept":0,"$end":1},
|
||
|
terminals_: {2:"error",6:"TERMINATOR",11:"STATEMENT",25:"INDENT",26:"OUTDENT",28:"IDENTIFIER",30:"NUMBER",32:"STRING",33:"STRING_START",34:"STRING_END",36:"REGEX",37:"REGEX_START",38:"REGEX_END",40:"JS",41:"DEBUGGER",42:"UNDEFINED",43:"NULL",44:"BOOL",46:"=",49:":",52:"RETURN",53:"HERECOMMENT",54:"PARAM_START",56:"PARAM_END",58:"->",59:"=>",61:",",64:"...",73:".",74:"?.",75:"::",76:"?::",78:"INDEX_START",80:"INDEX_END",81:"INDEX_SOAK",83:"{",85:"}",86:"CLASS",87:"EXTENDS",90:"SUPER",91:"FUNC_EXIST",92:"CALL_START",93:"CALL_END",95:"THIS",96:"@",97:"[",98:"]",100:"..",103:"TRY",105:"FINALLY",106:"CATCH",107:"THROW",108:"(",109:")",111:"WHILE",112:"WHEN",113:"UNTIL",115:"LOOP",117:"FOR",118:"BY",122:"OWN",124:"FORIN",125:"FOROF",126:"SWITCH",128:"ELSE",130:"LEADING_WHEN",132:"IF",133:"POST_IF",134:"UNARY",135:"UNARY_MATH",136:"-",137:"+",138:"YIELD",139:"FROM",140:"--",141:"++",142:"?",143:"MATH",144:"**",145:"SHIFT",146:"COMPARE",147:"LOGIC",148:"RELATION",149:"COMPOUND_ASSIGN"},
|
||
|
productions_: [0,[3,0],[3,1],[4,1],[4,3],[4,2],[5,1],[5,1],[8,1],[8,1],[8,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[24,2],[24,3],[27,1],[29,1],[29,1],[31,1],[31,3],[35,1],[35,3],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[39,1],[16,3],[16,4],[16,5],[47,1],[47,3],[47,5],[47,3],[47,5],[47,1],[50,1],[50,1],[48,1],[48,1],[9,2],[9,1],[10,1],[14,5],[14,2],[57,1],[57,1],[60,0],[60,1],[55,0],[55,1],[55,3],[55,4],[55,6],[62,1],[62,2],[62,3],[62,1],[63,1],[63,1],[63,1],[63,1],[67,2],[68,1],[68,2],[68,2],[68,1],[45,1],[45,1],[45,1],[12,1],[12,1],[12,1],[12,1],[12,1],[69,2],[69,2],[69,2],[69,2],[69,1],[69,1],[77,3],[77,2],[79,1],[79,1],[66,4],[84,0],[84,1],[84,3],[84,4],[84,6],[22,1],[22,2],[22,3],[22,4],[22,2],[22,3],[22,4],[22,5],[13,3],[13,3],[13,1],[13,2],[88,0],[88,1],[89,2],[89,4],[72,1],[72,1],[51,2],[65,2],[65,4],[99,1],[99,1],[71,5],[82,3],[82,2],[82,2],[82,1],[94,1],[94,3],[94,4],[94,4],[94,6],[101,1],[101,1],[101,1],[102,1],[102,3],[18,2],[18,3],[18,4],[18,5],[104,3],[104,3],[104,2],[23,2],[70,3],[70,5],[110,2],[110,4],[110,2],[110,4],[19,2],[19,2],[19,2],[19,1],[114,2],[114,2],[20,2],[20,2],[20,2],[116,2],[116,4],[116,2],[119,2],[119,3],[123,1],[123,1],[123,1],[123,1],[121,1],[121,3],[120,2],[120,2],[120,4],[120,4],[120,4],[120,6],[120,6],[21,5],[21,7],[21,4],[21,6],[127,1],[127,2],[129,3],[129,4],[131,3],[131,5],[17,1],[17,3],[17,3],[17,3],[15,2],[15,2],[15,2],[15,2],[15,2],[15,2],[15,3],[15,2],[15,2],[15,2],[15,2],[15,2],[15,3],[15,3],[15,3],[15,3],[15,3],[15,3],[15,3],[15,3],[15,3],[15,5],[15,4],[15,3]],
|
||
|
performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) {
|
||
|
/* this == yyval */
|
||
|
|
||
|
var $0 = $$.length - 1;
|
||
|
switch (yystate) {
|
||
|
case 1:
|
||
|
return this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Block);
|
||
|
break;
|
||
|
case 2:
|
||
|
return this.$ = $$[$0];
|
||
|
break;
|
||
|
case 3:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(yy.Block.wrap([$$[$0]]));
|
||
|
break;
|
||
|
case 4:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])($$[$0-2].push($$[$0]));
|
||
|
break;
|
||
|
case 5:
|
||
|
this.$ = $$[$0-1];
|
||
|
break;
|
||
|
case 6: case 7: case 8: case 9: case 11: case 12: case 13: case 14: case 15: case 16: case 17: case 18: case 19: case 20: case 21: case 22: case 27: case 32: case 34: case 47: case 48: case 49: case 50: case 51: case 59: case 60: case 70: case 71: case 72: case 73: case 78: case 79: case 82: case 86: case 92: case 136: case 137: case 139: case 169: case 170: case 186: case 192:
|
||
|
this.$ = $$[$0];
|
||
|
break;
|
||
|
case 10: case 25: case 26: case 28: case 30: case 33: case 35:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Literal($$[$0]));
|
||
|
break;
|
||
|
case 23:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Block);
|
||
|
break;
|
||
|
case 24: case 31: case 93:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])($$[$0-1]);
|
||
|
break;
|
||
|
case 29: case 149:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Parens($$[$0-1]));
|
||
|
break;
|
||
|
case 36:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Undefined);
|
||
|
break;
|
||
|
case 37:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Null);
|
||
|
break;
|
||
|
case 38:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Bool($$[$0]));
|
||
|
break;
|
||
|
case 39:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Assign($$[$0-2], $$[$0]));
|
||
|
break;
|
||
|
case 40:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])(new yy.Assign($$[$0-3], $$[$0]));
|
||
|
break;
|
||
|
case 41:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-4], _$[$0])(new yy.Assign($$[$0-4], $$[$0-1]));
|
||
|
break;
|
||
|
case 42: case 75: case 80: case 81: case 83: case 84: case 85: case 171: case 172:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Value($$[$0]));
|
||
|
break;
|
||
|
case 43:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Assign(yy.addLocationDataFn(_$[$0-2])(new yy.Value($$[$0-2])), $$[$0], 'object', {
|
||
|
operatorToken: yy.addLocationDataFn(_$[$0-1])(new yy.Literal($$[$0-1]))
|
||
|
}));
|
||
|
break;
|
||
|
case 44:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-4], _$[$0])(new yy.Assign(yy.addLocationDataFn(_$[$0-4])(new yy.Value($$[$0-4])), $$[$0-1], 'object', {
|
||
|
operatorToken: yy.addLocationDataFn(_$[$0-3])(new yy.Literal($$[$0-3]))
|
||
|
}));
|
||
|
break;
|
||
|
case 45:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Assign(yy.addLocationDataFn(_$[$0-2])(new yy.Value($$[$0-2])), $$[$0], null, {
|
||
|
operatorToken: yy.addLocationDataFn(_$[$0-1])(new yy.Literal($$[$0-1]))
|
||
|
}));
|
||
|
break;
|
||
|
case 46:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-4], _$[$0])(new yy.Assign(yy.addLocationDataFn(_$[$0-4])(new yy.Value($$[$0-4])), $$[$0-1], null, {
|
||
|
operatorToken: yy.addLocationDataFn(_$[$0-3])(new yy.Literal($$[$0-3]))
|
||
|
}));
|
||
|
break;
|
||
|
case 52:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Return($$[$0]));
|
||
|
break;
|
||
|
case 53:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Return);
|
||
|
break;
|
||
|
case 54:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Comment($$[$0]));
|
||
|
break;
|
||
|
case 55:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-4], _$[$0])(new yy.Code($$[$0-3], $$[$0], $$[$0-1]));
|
||
|
break;
|
||
|
case 56:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Code([], $$[$0], $$[$0-1]));
|
||
|
break;
|
||
|
case 57:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0], _$[$0])('func');
|
||
|
break;
|
||
|
case 58:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0], _$[$0])('boundfunc');
|
||
|
break;
|
||
|
case 61: case 98:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0], _$[$0])([]);
|
||
|
break;
|
||
|
case 62: case 99: case 131: case 173:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0], _$[$0])([$$[$0]]);
|
||
|
break;
|
||
|
case 63: case 100: case 132:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])($$[$0-2].concat($$[$0]));
|
||
|
break;
|
||
|
case 64: case 101: case 133:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])($$[$0-3].concat($$[$0]));
|
||
|
break;
|
||
|
case 65: case 102: case 135:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-5], _$[$0])($$[$0-5].concat($$[$0-2]));
|
||
|
break;
|
||
|
case 66:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Param($$[$0]));
|
||
|
break;
|
||
|
case 67:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Param($$[$0-1], null, true));
|
||
|
break;
|
||
|
case 68:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Param($$[$0-2], $$[$0]));
|
||
|
break;
|
||
|
case 69: case 138:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Expansion);
|
||
|
break;
|
||
|
case 74:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Splat($$[$0-1]));
|
||
|
break;
|
||
|
case 76:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])($$[$0-1].add($$[$0]));
|
||
|
break;
|
||
|
case 77:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Value($$[$0-1], [].concat($$[$0])));
|
||
|
break;
|
||
|
case 87:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Access($$[$0]));
|
||
|
break;
|
||
|
case 88:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Access($$[$0], 'soak'));
|
||
|
break;
|
||
|
case 89:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])([yy.addLocationDataFn(_$[$0-1])(new yy.Access(new yy.Literal('prototype'))), yy.addLocationDataFn(_$[$0])(new yy.Access($$[$0]))]);
|
||
|
break;
|
||
|
case 90:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])([yy.addLocationDataFn(_$[$0-1])(new yy.Access(new yy.Literal('prototype'), 'soak')), yy.addLocationDataFn(_$[$0])(new yy.Access($$[$0]))]);
|
||
|
break;
|
||
|
case 91:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Access(new yy.Literal('prototype')));
|
||
|
break;
|
||
|
case 94:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(yy.extend($$[$0], {
|
||
|
soak: true
|
||
|
}));
|
||
|
break;
|
||
|
case 95:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Index($$[$0]));
|
||
|
break;
|
||
|
case 96:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Slice($$[$0]));
|
||
|
break;
|
||
|
case 97:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])(new yy.Obj($$[$0-2], $$[$0-3].generated));
|
||
|
break;
|
||
|
case 103:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Class);
|
||
|
break;
|
||
|
case 104:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Class(null, null, $$[$0]));
|
||
|
break;
|
||
|
case 105:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Class(null, $$[$0]));
|
||
|
break;
|
||
|
case 106:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])(new yy.Class(null, $$[$0-1], $$[$0]));
|
||
|
break;
|
||
|
case 107:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Class($$[$0]));
|
||
|
break;
|
||
|
case 108:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Class($$[$0-1], null, $$[$0]));
|
||
|
break;
|
||
|
case 109:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])(new yy.Class($$[$0-2], $$[$0]));
|
||
|
break;
|
||
|
case 110:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-4], _$[$0])(new yy.Class($$[$0-3], $$[$0-1], $$[$0]));
|
||
|
break;
|
||
|
case 111: case 112:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Call($$[$0-2], $$[$0], $$[$0-1]));
|
||
|
break;
|
||
|
case 113:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Call('super', [new yy.Splat(new yy.Literal('arguments'))]));
|
||
|
break;
|
||
|
case 114:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Call('super', $$[$0]));
|
||
|
break;
|
||
|
case 115:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(false);
|
||
|
break;
|
||
|
case 116:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(true);
|
||
|
break;
|
||
|
case 117:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])([]);
|
||
|
break;
|
||
|
case 118: case 134:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])($$[$0-2]);
|
||
|
break;
|
||
|
case 119: case 120:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Value(new yy.Literal('this')));
|
||
|
break;
|
||
|
case 121:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Value(yy.addLocationDataFn(_$[$0-1])(new yy.Literal('this')), [yy.addLocationDataFn(_$[$0])(new yy.Access($$[$0]))], 'this'));
|
||
|
break;
|
||
|
case 122:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Arr([]));
|
||
|
break;
|
||
|
case 123:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])(new yy.Arr($$[$0-2]));
|
||
|
break;
|
||
|
case 124:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0], _$[$0])('inclusive');
|
||
|
break;
|
||
|
case 125:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0], _$[$0])('exclusive');
|
||
|
break;
|
||
|
case 126:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-4], _$[$0])(new yy.Range($$[$0-3], $$[$0-1], $$[$0-2]));
|
||
|
break;
|
||
|
case 127:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Range($$[$0-2], $$[$0], $$[$0-1]));
|
||
|
break;
|
||
|
case 128:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Range($$[$0-1], null, $$[$0]));
|
||
|
break;
|
||
|
case 129:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Range(null, $$[$0], $$[$0-1]));
|
||
|
break;
|
||
|
case 130:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Range(null, null, $$[$0]));
|
||
|
break;
|
||
|
case 140:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])([].concat($$[$0-2], $$[$0]));
|
||
|
break;
|
||
|
case 141:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Try($$[$0]));
|
||
|
break;
|
||
|
case 142:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Try($$[$0-1], $$[$0][0], $$[$0][1]));
|
||
|
break;
|
||
|
case 143:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])(new yy.Try($$[$0-2], null, null, $$[$0]));
|
||
|
break;
|
||
|
case 144:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-4], _$[$0])(new yy.Try($$[$0-3], $$[$0-2][0], $$[$0-2][1], $$[$0]));
|
||
|
break;
|
||
|
case 145:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])([$$[$0-1], $$[$0]]);
|
||
|
break;
|
||
|
case 146:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])([yy.addLocationDataFn(_$[$0-1])(new yy.Value($$[$0-1])), $$[$0]]);
|
||
|
break;
|
||
|
case 147:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])([null, $$[$0]]);
|
||
|
break;
|
||
|
case 148:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Throw($$[$0]));
|
||
|
break;
|
||
|
case 150:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-4], _$[$0])(new yy.Parens($$[$0-2]));
|
||
|
break;
|
||
|
case 151:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.While($$[$0]));
|
||
|
break;
|
||
|
case 152:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])(new yy.While($$[$0-2], {
|
||
|
guard: $$[$0]
|
||
|
}));
|
||
|
break;
|
||
|
case 153:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.While($$[$0], {
|
||
|
invert: true
|
||
|
}));
|
||
|
break;
|
||
|
case 154:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])(new yy.While($$[$0-2], {
|
||
|
invert: true,
|
||
|
guard: $$[$0]
|
||
|
}));
|
||
|
break;
|
||
|
case 155:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])($$[$0-1].addBody($$[$0]));
|
||
|
break;
|
||
|
case 156: case 157:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])($$[$0].addBody(yy.addLocationDataFn(_$[$0-1])(yy.Block.wrap([$$[$0-1]]))));
|
||
|
break;
|
||
|
case 158:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0], _$[$0])($$[$0]);
|
||
|
break;
|
||
|
case 159:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.While(yy.addLocationDataFn(_$[$0-1])(new yy.Literal('true'))).addBody($$[$0]));
|
||
|
break;
|
||
|
case 160:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.While(yy.addLocationDataFn(_$[$0-1])(new yy.Literal('true'))).addBody(yy.addLocationDataFn(_$[$0])(yy.Block.wrap([$$[$0]]))));
|
||
|
break;
|
||
|
case 161: case 162:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.For($$[$0-1], $$[$0]));
|
||
|
break;
|
||
|
case 163:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.For($$[$0], $$[$0-1]));
|
||
|
break;
|
||
|
case 164:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])({
|
||
|
source: yy.addLocationDataFn(_$[$0])(new yy.Value($$[$0]))
|
||
|
});
|
||
|
break;
|
||
|
case 165:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])({
|
||
|
source: yy.addLocationDataFn(_$[$0-2])(new yy.Value($$[$0-2])),
|
||
|
step: $$[$0]
|
||
|
});
|
||
|
break;
|
||
|
case 166:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])((function () {
|
||
|
$$[$0].own = $$[$0-1].own;
|
||
|
$$[$0].name = $$[$0-1][0];
|
||
|
$$[$0].index = $$[$0-1][1];
|
||
|
return $$[$0];
|
||
|
}()));
|
||
|
break;
|
||
|
case 167:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])($$[$0]);
|
||
|
break;
|
||
|
case 168:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])((function () {
|
||
|
$$[$0].own = true;
|
||
|
return $$[$0];
|
||
|
}()));
|
||
|
break;
|
||
|
case 174:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])([$$[$0-2], $$[$0]]);
|
||
|
break;
|
||
|
case 175:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])({
|
||
|
source: $$[$0]
|
||
|
});
|
||
|
break;
|
||
|
case 176:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])({
|
||
|
source: $$[$0],
|
||
|
object: true
|
||
|
});
|
||
|
break;
|
||
|
case 177:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])({
|
||
|
source: $$[$0-2],
|
||
|
guard: $$[$0]
|
||
|
});
|
||
|
break;
|
||
|
case 178:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])({
|
||
|
source: $$[$0-2],
|
||
|
guard: $$[$0],
|
||
|
object: true
|
||
|
});
|
||
|
break;
|
||
|
case 179:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])({
|
||
|
source: $$[$0-2],
|
||
|
step: $$[$0]
|
||
|
});
|
||
|
break;
|
||
|
case 180:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-5], _$[$0])({
|
||
|
source: $$[$0-4],
|
||
|
guard: $$[$0-2],
|
||
|
step: $$[$0]
|
||
|
});
|
||
|
break;
|
||
|
case 181:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-5], _$[$0])({
|
||
|
source: $$[$0-4],
|
||
|
step: $$[$0-2],
|
||
|
guard: $$[$0]
|
||
|
});
|
||
|
break;
|
||
|
case 182:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-4], _$[$0])(new yy.Switch($$[$0-3], $$[$0-1]));
|
||
|
break;
|
||
|
case 183:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-6], _$[$0])(new yy.Switch($$[$0-5], $$[$0-3], $$[$0-1]));
|
||
|
break;
|
||
|
case 184:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])(new yy.Switch(null, $$[$0-1]));
|
||
|
break;
|
||
|
case 185:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-5], _$[$0])(new yy.Switch(null, $$[$0-3], $$[$0-1]));
|
||
|
break;
|
||
|
case 187:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])($$[$0-1].concat($$[$0]));
|
||
|
break;
|
||
|
case 188:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])([[$$[$0-1], $$[$0]]]);
|
||
|
break;
|
||
|
case 189:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])([[$$[$0-2], $$[$0-1]]]);
|
||
|
break;
|
||
|
case 190:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.If($$[$0-1], $$[$0], {
|
||
|
type: $$[$0-2]
|
||
|
}));
|
||
|
break;
|
||
|
case 191:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-4], _$[$0])($$[$0-4].addElse(yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.If($$[$0-1], $$[$0], {
|
||
|
type: $$[$0-2]
|
||
|
}))));
|
||
|
break;
|
||
|
case 193:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])($$[$0-2].addElse($$[$0]));
|
||
|
break;
|
||
|
case 194: case 195:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.If($$[$0], yy.addLocationDataFn(_$[$0-2])(yy.Block.wrap([$$[$0-2]])), {
|
||
|
type: $$[$0-1],
|
||
|
statement: true
|
||
|
}));
|
||
|
break;
|
||
|
case 196: case 197: case 200: case 201:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Op($$[$0-1], $$[$0]));
|
||
|
break;
|
||
|
case 198:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Op('-', $$[$0]));
|
||
|
break;
|
||
|
case 199:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Op('+', $$[$0]));
|
||
|
break;
|
||
|
case 202:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Op($$[$0-2].concat($$[$0-1]), $$[$0]));
|
||
|
break;
|
||
|
case 203:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Op('--', $$[$0]));
|
||
|
break;
|
||
|
case 204:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Op('++', $$[$0]));
|
||
|
break;
|
||
|
case 205:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Op('--', $$[$0-1], null, true));
|
||
|
break;
|
||
|
case 206:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Op('++', $$[$0-1], null, true));
|
||
|
break;
|
||
|
case 207:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Existence($$[$0-1]));
|
||
|
break;
|
||
|
case 208:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Op('+', $$[$0-2], $$[$0]));
|
||
|
break;
|
||
|
case 209:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Op('-', $$[$0-2], $$[$0]));
|
||
|
break;
|
||
|
case 210: case 211: case 212: case 213: case 214:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Op($$[$0-1], $$[$0-2], $$[$0]));
|
||
|
break;
|
||
|
case 215:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])((function () {
|
||
|
if ($$[$0-1].charAt(0) === '!') {
|
||
|
return new yy.Op($$[$0-1].slice(1), $$[$0-2], $$[$0]).invert();
|
||
|
} else {
|
||
|
return new yy.Op($$[$0-1], $$[$0-2], $$[$0]);
|
||
|
}
|
||
|
}()));
|
||
|
break;
|
||
|
case 216:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Assign($$[$0-2], $$[$0], $$[$0-1]));
|
||
|
break;
|
||
|
case 217:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-4], _$[$0])(new yy.Assign($$[$0-4], $$[$0-1], $$[$0-3]));
|
||
|
break;
|
||
|
case 218:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])(new yy.Assign($$[$0-3], $$[$0], $$[$0-2]));
|
||
|
break;
|
||
|
case 219:
|
||
|
this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Extends($$[$0-2], $$[$0]));
|
||
|
break;
|
||
|
}
|
||
|
},
|
||
|
table: [{1:[2,1],3:1,4:2,5:3,7:4,8:5,9:18,10:19,11:$V0,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:$V1,29:49,30:$V2,31:72,32:$V3,33:$V4,35:51,36:$V5,37:$V6,39:22,40:$V7,41:$V8,42:$V9,43:$Va,44:$Vb,45:21,51:63,52:$Vc,53:$Vd,54:$Ve,57:28,58:$Vf,59:$Vg,65:47,66:48,68:36,70:23,71:24,72:25,83:$Vh,86:$Vi,90:$Vj,95:$Vk,96:$Vl,97:$Vm,103:$Vn,107:$Vo,108:$Vp,110:39,111:$Vq,113:$Vr,114:40,115:$Vs,116:41,117:$Vt,119:69,126:$Vu,131:37,132:$Vv,134:$Vw,135:$Vx,136:$Vy,137:$Vz,138:$VA,140:$VB,141:$VC},{1:[3]},{1:[2,2],6:$VD},o($VE,[2,3]),o($VE,[2,6],{119:69,110:89,116:90,111:$Vq,113:$Vr,117:$Vt,133:$VF,136:$VG,137:$VH,142:$VI,143:$VJ,144:$VK,145:$VL,146:$VM,147:$VN,148:$VO}),o($VE,[2,7],{119:69,110:92,116:93,111:$Vq,113:$Vr,117:$Vt,133:$VP}),o($VQ,[2,11],{88:94,69:95,77:101,73:$VR,74:$VS,75:$VT,76:$VU,78:$VV,81:$VW,91:$VX,92:$VY}),o($VQ,[2,12],{77:101,88:104,69:105,73:$VR,74:$VS,75:$VT,76:$VU,78:$VV,81:$VW,91:$VX,92:$VY}),o($VQ,[2,13]),o($VQ,[2,14]),o($VQ,[2,15]),o($VQ,[2,16]),o($VQ,[2,17]),o($VQ,[2,18]),o($VQ,[2,19]),o($VQ,[2,20]),o($VQ,[2,21]),o($VQ,[2,22]),o($VQ,[2,8]),o($VQ,[2,9]),o($VQ,[2,10]),o($VZ,$V_,{46:[1,106]}),o($VZ,[2,83]),o($VZ,[2,84]),o($VZ,[2,85]),o($VZ,[2,86]),o([1,6,25,26,34,38,56,61,64,73,74,75,76,78,80,81,85,91,93,98,100,109,111,112,113,117,118,133,136,137,142,143,144,145,146,147,148],[2,113],{89:107,92:$V$}),o([6,25,56,61],$V01,{55:109,62:110,63:111,27:113,51:114,65:115,66:116,28:$V1,64:$V11,83:$Vh,96:$V21,97:$V31}),{24:119,25:$V41},{7:121,8:122,9:18,10:19,11:$V0,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:$V1,29:49,30:$V2,31:72,32:$V3,33:$V4,35:51,36:$V5,37:$V6,39:22,40:$V7,41:$V8,42:$V9,43:$Va,44:$Vb,45:21,51:63,52:$Vc,53:$Vd,54:$Ve,57:28,58:$Vf,59:$Vg,65:47,66:48,68:36,70:23,71:24,72:25,83:$Vh,86:$Vi,90:$Vj,95:$Vk,96:$Vl,97:$Vm,103:$Vn,107:$Vo,108:$Vp,110:39,111:$Vq,113:$Vr,114:40,115:$Vs,116:41,117:$Vt,119:69,126:$Vu,131:37,132:$Vv,134:$Vw,135:$Vx,136:$Vy,137:$Vz,138:$VA,140:$VB,141:$VC},{7:123,8:122,9:18,10:19,11:$V0,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:$V1,29:49,30:$V2,31:72,32:$V3,33:$V4,35:51,36:$V5,37:$V6,39:22,40:$V7,41:$V8,42:$V9,43:$Va,44:$Vb,45:21,51:63,52:$Vc,53:$Vd,54:$Ve,57:28,58:$Vf,59:$Vg,65:47,66:48,68:36,70:23,71:24,72:25,83:$Vh,86:$Vi,90:$Vj,95:$Vk,96:$Vl,97:$Vm,103:$Vn,107:$Vo,108:$Vp,110:39,111:$Vq,113:$Vr,114:40,115:$Vs,116:41,117:$Vt,119:69,126:$Vu,131:37,132:$Vv,134:$Vw,135:$Vx,136:$Vy,137:$Vz,138:$VA,140:$VB,141:$VC},{7:124,8:122,9:18,10:19,11:$V0,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:$V1,29:49,30:$V2,31:72,32:$V3,33:$V4,35:51,36:$V5,37:$V6,39:22,40:$V7,41:$V8,42:$V9,43:$Va,44:$Vb,45:21,51:63,52:$Vc,53:$Vd,54:$Ve,57:28,58:$Vf,59:$Vg,65:47,66:48,68:36,70:23,71:24,72:25,83:$Vh,86:$Vi,90:$Vj,95:$Vk,96:$Vl,97:$Vm,103:$Vn,107:$Vo,108:$Vp,110:39,111:$Vq,113:$Vr,114:40,115:$Vs,116:41,117:$Vt,119:69,126:$Vu,131:37,132:$Vv,134:$Vw,135:$Vx,136:$Vy,137:$Vz,138:$VA,140:$VB,141:$VC},{7:125,8:122,9:18,10:19,11:$V0,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:$V1,29:49,30:$V2,31:72,32:$V3,33:$V4,35:51,36:$V5,37:$V6,39:22,40:$V7,41:$V8,42:$V9,43:$Va,44:$Vb,45:21,51:63,52:$Vc,53:$Vd,54:$Ve,57:28,58:$Vf,59:$Vg,65:47,66:48,68:36,70:23,71:24,72:25,83:$Vh,86:$Vi,90:$Vj,95:$Vk,96:$Vl,97:$Vm,103:$Vn,107:$Vo,108:$Vp,110:39,111:$Vq,113:$Vr,114:40,115:$Vs,116:41,117:$Vt,119:69,126:$Vu,131:37,132:$Vv,134:$Vw,135:$Vx,136:$Vy,137:$Vz,138:$VA,140:$VB,141:$VC},{7:127,8:126,9:18,10:19,11:$V0,12:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,27:62,28:$V1,29:49,30:$V2,31:72,32:$V3,33:$V4,35:51,36:$V5,37:$V6,39:22,40:$V7,41:$V8,42:$V9,43:$Va,44:$Vb,45:21,51:63,52:$Vc,53:$Vd,54:$Ve,57:28,58:$Vf,59:$Vg,65:47,66:48,68:36,70:23,71:24,72:25,83:$Vh,86:$Vi,90:$Vj,95:$Vk,96:$Vl,97:$Vm,103:$Vn,107:$Vo,108:$Vp,110:39,111:$Vq,113:$Vr,114:40,115:$Vs,116:41,117:$Vt,119:69,126:$Vu,131:37,132:$Vv,134:$Vw,135:$Vx,136:$Vy,137:$Vz,138:$VA,139:[1,128],140:$VB,141:$VC},{12:130,13:131,27:62,28:$V1,29:49,30:$V2,31:72,32:$V3,33:$V4,35:51,36:$V5,37:$V6,3
|
||
|
defaultActions: {60:[2,57],61:[2,58],96:[2,116],204:[2,96]},
|
||
|
parseError: function parseError(str, hash) {
|
||
|
if (hash.recoverable) {
|
||
|
this.trace(str);
|
||
|
} else {
|
||
|
throw new Error(str);
|
||
|
}
|
||
|
},
|
||
|
parse: function parse(input) {
|
||
|
var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;
|
||
|
var args = lstack.slice.call(arguments, 1);
|
||
|
var lexer = Object.create(this.lexer);
|
||
|
var sharedState = { yy: {} };
|
||
|
for (var k in this.yy) {
|
||
|
if (Object.prototype.hasOwnProperty.call(this.yy, k)) {
|
||
|
sharedState.yy[k] = this.yy[k];
|
||
|
}
|
||
|
}
|
||
|
lexer.setInput(input, sharedState.yy);
|
||
|
sharedState.yy.lexer = lexer;
|
||
|
sharedState.yy.parser = this;
|
||
|
if (typeof lexer.yylloc == 'undefined') {
|
||
|
lexer.yylloc = {};
|
||
|
}
|
||
|
var yyloc = lexer.yylloc;
|
||
|
lstack.push(yyloc);
|
||
|
var ranges = lexer.options && lexer.options.ranges;
|
||
|
if (typeof sharedState.yy.parseError === 'function') {
|
||
|
this.parseError = sharedState.yy.parseError;
|
||
|
} else {
|
||
|
this.parseError = Object.getPrototypeOf(this).parseError;
|
||
|
}
|
||
|
function popStack(n) {
|
||
|
stack.length = stack.length - 2 * n;
|
||
|
vstack.length = vstack.length - n;
|
||
|
lstack.length = lstack.length - n;
|
||
|
}
|
||
|
_token_stack:
|
||
|
function lex() {
|
||
|
var token;
|
||
|
token = lexer.lex() || EOF;
|
||
|
if (typeof token !== 'number') {
|
||
|
token = self.symbols_[token] || token;
|
||
|
}
|
||
|
return token;
|
||
|
}
|
||
|
var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;
|
||
|
while (true) {
|
||
|
state = stack[stack.length - 1];
|
||
|
if (this.defaultActions[state]) {
|
||
|
action = this.defaultActions[state];
|
||
|
} else {
|
||
|
if (symbol === null || typeof symbol == 'undefined') {
|
||
|
symbol = lex();
|
||
|
}
|
||
|
action = table[state] && table[state][symbol];
|
||
|
}
|
||
|
if (typeof action === 'undefined' || !action.length || !action[0]) {
|
||
|
var errStr = '';
|
||
|
expected = [];
|
||
|
for (p in table[state]) {
|
||
|
if (this.terminals_[p] && p > TERROR) {
|
||
|
expected.push('\'' + this.terminals_[p] + '\'');
|
||
|
}
|
||
|
}
|
||
|
if (lexer.showPosition) {
|
||
|
errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\'';
|
||
|
} else {
|
||
|
errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\'');
|
||
|
}
|
||
|
this.parseError(errStr, {
|
||
|
text: lexer.match,
|
||
|
token: this.terminals_[symbol] || symbol,
|
||
|
line: lexer.yylineno,
|
||
|
loc: yyloc,
|
||
|
expected: expected
|
||
|
});
|
||
|
}
|
||
|
if (action[0] instanceof Array && action.length > 1) {
|
||
|
throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol);
|
||
|
}
|
||
|
switch (action[0]) {
|
||
|
case 1:
|
||
|
stack.push(symbol);
|
||
|
vstack.push(lexer.yytext);
|
||
|
lstack.push(lexer.yylloc);
|
||
|
stack.push(action[1]);
|
||
|
symbol = null;
|
||
|
if (!preErrorSymbol) {
|
||
|
yyleng = lexer.yyleng;
|
||
|
yytext = lexer.yytext;
|
||
|
yylineno = lexer.yylineno;
|
||
|
yyloc = lexer.yylloc;
|
||
|
if (recovering > 0) {
|
||
|
recovering--;
|
||
|
}
|
||
|
} else {
|
||
|
symbol = preErrorSymbol;
|
||
|
preErrorSymbol = null;
|
||
|
}
|
||
|
break;
|
||
|
case 2:
|
||
|
len = this.productions_[action[1]][1];
|
||
|
yyval.$ = vstack[vstack.length - len];
|
||
|
yyval._$ = {
|
||
|
first_line: lstack[lstack.length - (len || 1)].first_line,
|
||
|
last_line: lstack[lstack.length - 1].last_line,
|
||
|
first_column: lstack[lstack.length - (len || 1)].first_column,
|
||
|
last_column: lstack[lstack.length - 1].last_column
|
||
|
};
|
||
|
if (ranges) {
|
||
|
yyval._$.range = [
|
||
|
lstack[lstack.length - (len || 1)].range[0],
|
||
|
lstack[lstack.length - 1].range[1]
|
||
|
];
|
||
|
}
|
||
|
r = this.performAction.apply(yyval, [
|
||
|
yytext,
|
||
|
yyleng,
|
||
|
yylineno,
|
||
|
sharedState.yy,
|
||
|
action[1],
|
||
|
vstack,
|
||
|
lstack
|
||
|
].concat(args));
|
||
|
if (typeof r !== 'undefined') {
|
||
|
return r;
|
||
|
}
|
||
|
if (len) {
|
||
|
stack = stack.slice(0, -1 * len * 2);
|
||
|
vstack = vstack.slice(0, -1 * len);
|
||
|
lstack = lstack.slice(0, -1 * len);
|
||
|
}
|
||
|
stack.push(this.productions_[action[1]][0]);
|
||
|
vstack.push(yyval.$);
|
||
|
lstack.push(yyval._$);
|
||
|
newState = table[stack[stack.length - 2]][stack[stack.length - 1]];
|
||
|
stack.push(newState);
|
||
|
break;
|
||
|
case 3:
|
||
|
return true;
|
||
|
}
|
||
|
}
|
||
|
return true;
|
||
|
}};
|
||
|
|
||
|
function Parser () {
|
||
|
this.yy = {};
|
||
|
}
|
||
|
Parser.prototype = parser;parser.Parser = Parser;
|
||
|
return new Parser;
|
||
|
})();
|
||
|
|
||
|
|
||
|
if (typeof require !== 'undefined' && typeof exports !== 'undefined') {
|
||
|
exports.parser = parser;
|
||
|
exports.Parser = parser.Parser;
|
||
|
exports.parse = function () { return parser.parse.apply(parser, arguments); };
|
||
|
exports.main = function commonjsMain(args) {
|
||
|
if (!args[1]) {
|
||
|
console.log('Usage: '+args[0]+' FILE');
|
||
|
process.exit(1);
|
||
|
}
|
||
|
var source = require('fs').readFileSync(require('path').normalize(args[1]), "utf8");
|
||
|
return exports.parser.parse(source);
|
||
|
};
|
||
|
if (typeof module !== 'undefined' && require.main === module) {
|
||
|
exports.main(process.argv.slice(1));
|
||
|
}
|
||
|
}
|