You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1067 lines
178 KiB
1067 lines
178 KiB
2 years ago
|
/* parser generated by jison-fork */
|
||
|
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,4],$V1=[1,6],$V2=[1,7],$V3=[1,39],$V4=[1,40],$V5=[1,41],$V6=[1,42],$V7=[1,80],$V8=[1,45],$V9=[1,126],$Va=[1,44],$Vb=[1,128],$Vc=[1,106],$Vd=[1,134],$Ve=[1,135],$Vf=[1,125],$Vg=[1,132],$Vh=[1,138],$Vi=[1,127],$Vj=[1,139],$Vk=[1,94],$Vl=[1,95],$Vm=[1,96],$Vn=[1,97],$Vo=[1,98],$Vp=[1,99],$Vq=[1,100],$Vr=[1,87],$Vs=[1,105],$Vt=[1,83],$Vu=[1,46],$Vv=[1,17],$Vw=[1,18],$Vx=[1,69],$Vy=[1,68],$Vz=[1,101],$VA=[1,64],$VB=[1,104],$VC=[1,124],$VD=[1,102],$VE=[1,35],$VF=[1,36],$VG=[1,110],$VH=[1,109],$VI=[1,108],$VJ=[1,131],$VK=[1,84],$VL=[1,85],$VM=[1,86],$VN=[1,111],$VO=[1,92],$VP=[1,47],$VQ=[1,53],$VR=[1,123],$VS=[1,103],$VT=[1,133],$VU=[1,75],$VV=[1,88],$VW=[1,118],$VX=[1,119],$VY=[1,120],$VZ=[1,136],$V_=[1,137],$V$=[1,79],$V01=[1,117],$V11=[1,63],$V21=[1,65],$V31=[1,66],$V41=[1,67],$V51=[1,70],$V61=[1,71],$V71=[1,141],$V81=[1,6,14],$V91=[1,6,12,13,14,27,28,38,42,60,86,96,106,139,144,145,146,158,166,178,189,193,195,205,212,215,223,224,245,247,248,256,281,285,292,293,297,298,299,303,305,306,314,318,321,322,323,330,331,332,333],$Va1=[1,149],$Vb1=[1,146],$Vc1=[1,147],$Vd1=[1,151],$Ve1=[1,152],$Vf1=[1,155],$Vg1=[1,156],$Vh1=[1,148],$Vi1=[1,150],$Vj1=[1,153],$Vk1=[1,154],$Vl1=[1,159],$Vm1=[1,160],$Vn1=[1,168],$Vo1=[1,169],$Vp1=[1,6,12,13,14,28,38,42,60,86,106,139,144,145,146,158,166,178,189,193,195,205,215,223,224,247,285,297,298,299,305,306,314,322,323,330,331,332,333],$Vq1=[2,439],$Vr1=[1,180],$Vs1=[1,177],$Vt1=[1,178],$Vu1=[1,173],$Vv1=[1,179],$Vw1=[1,185],$Vx1=[1,6,13,14,27,28,38,60,87,121,141,157,158,168,169,170,171,172,173,175,176,177,181,182,205,206,207,247],$Vy1=[1,6,14,297,299,305,306,322],$Vz1=[1,6,14,83,85,86,216,217,266,276,277],$VA1=[1,188],$VB1=[1,194],$VC1=[1,196],$VD1=[1,213],$VE1=[1,212],$VF1=[1,6,12,13,14,27,28,38,42,60,86,96,106,139,144,145,146,158,166,178,189,193,195,205,212,215,223,224,245,247,248,256,281,285,297,298,299,305,306,314,322,323,330,331,332,333],$VG1=[2,350],$VH1=[1,216],$VI1=[1,6,12,13,14,27,28,38,42,60,86,96,106,139,141,144,145,146,158,166,178,189,193,195,205,212,215,223,224,245,247,248,256,281,285,297,298,299,305,306,314,322,323,330,331,332,333],$VJ1=[2,344],$VK1=[6,27,87,121,141,157,167,168,169,170,171,172,173,175,176,177,181,182,206,207],$VL1=[1,254],$VM1=[1,253],$VN1=[36,83,204],$VO1=[1,257],$VP1=[1,6,14,83,85,86,96,216,217,266,276,277],$VQ1=[1,263],$VR1=[1,268],$VS1=[1,269],$VT1=[1,265],$VU1=[1,273],$VV1=[1,271],$VW1=[1,6,12,13,14,27,28,36,38,42,60,86,96,106,117,118,139,144,145,146,158,166,178,189,193,195,205,212,215,223,224,245,247,248,256,281,285,297,298,299,305,306,314,322,323,330,331,332,333],$VX1=[1,6,11,12,13,14,27,28,38,42,57,60,86,96,101,106,139,141,144,145,146,158,166,178,189,193,195,205,212,215,223,224,245,247,248,256,274,281,285,297,298,299,305,306,314,322,323,328,329,330,331,332,333],$VY1=[1,304],$VZ1=[1,306],$V_1=[2,365],$V$1=[1,320],$V02=[1,315],$V12=[1,309],$V22=[1,314],$V32=[1,322],$V42=[1,324],$V52=[1,325],$V62=[1,333],$V72=[36,83,204,252,310],$V82=[1,6,12,13,14,27,28,38,42,60,86,96,102,104,105,106,139,144,145,146,158,166,178,189,193,195,205,212,215,223,224,245,247,248,256,281,285,297,298,299,305,306,314,322,323,330,331,332,333],$V92=[2,8],$Va2=[83,85],$Vb2=[1,6,14,141],$Vc2=[1,370],$Vd2=[1,374],$Ve2=[1,375],$Vf2=[1,384],$Vg2=[1,386],$Vh2=[1,388],$Vi2=[1,6,12,13,14,28,38,42,60,86,106,139,144,145,146,158,166,178,189,193,195,205,215,223,224,247,285,297,298,299,305,306,314,322,323,330,331,333],$Vj2=[1,6,11,12,13,14,27,28,38,42,60,86,96,106,139,144,145,146,158,166,178,189,193,195,205,212,215,223,224,245,247,248,256,281,285,297,298,299,305,306,314,322,323,330,331,332,333],$Vk2=[1,6,12,13,14,28,38,42,60,86,106,139,145,146,158,166,178,189,193,195,205,215,223,224,247,285,297,298,299,305,306,314,322,323,331,333],$Vl2=[6,14,27,42,86,96,178,212,245,248,256,281],$Vm2=[1,400],$Vn2=[1,405],$Vo2=[6,27,87,121,141,157,168,169,170,171,172,173,175,176,177,181,182,206,207],$Vp2=[1,427],$Vq2=[1,426],$Vr2=[6,27,36,87,121,141,157,167,168,169,170,171,172,173,175,176,177,179,181,182,206,207],$Vs2=[1,6,11,12,13,14,27,28,38,42,
|
||
|
var parser = {trace: function trace() {
|
||
|
},
|
||
|
yy: {},
|
||
|
symbols_: {"error":2,"Root":3,"Body":4,"Block":5,"TERMINATOR":6,"BODYSTART":7,"Line":8,"Terminator":9,"Type":10,"TYPE":11,"EMPTY_BLOCK":12,"INDENT":13,"OUTDENT":14,"CSSDeclaration":15,"Expression":16,"VarDecl":17,"Comment":18,"Statement":19,"Decorators":20,"ImportDeclaration":21,"ExportDeclaration":22,"Return":23,"Throw":24,"STATEMENT":25,"BREAK":26,"CALL_START":27,"CALL_END":28,"CONTINUE":29,"DEBUGGER":30,"ExtendObject":31,"EXTEND":32,"Identifier":33,"ClassBody":34,"EXPORT":35,"{":36,"ImportSpecifierList":37,"}":38,"FROM":39,"String":40,"EXPORT_ALL":41,"AS":42,"Exportable":43,"DEFAULT":44,"DefaultExportable":45,"MethodDeclaration":46,"Class":47,"TagDeclaration":48,"VarAssign":49,"ImportOrExport":50,"IMPORT":51,"ImportDefaultSpecifier":52,"TYPEIMPORT":53,"ImportNamespaceSpecifier":54,"IMPORT_COMMA":55,"ImportFrom":56,"STRING":57,"IMPORT_ALL":58,"ImportSpecifier":59,",":60,"OptComma":61,"DecoratorIdentifier":62,"MixinIdentifier":63,"Require":64,"REQUIRE":65,"RequireArg":66,"Literal":67,"Parenthetical":68,"Await":69,"Value":70,"Code":71,"Operation":72,"Assign":73,"If":74,"Ternary":75,"Try":76,"While":77,"For":78,"Switch":79,"Tag":80,"ExpressionBlock":81,"Outdent":82,"IDENTIFIER":83,"SymbolIdentifier":84,"SYMBOLID":85,"DECORATOR":86,"MIXIN":87,"Key":88,"KEY":89,"Argvar":90,"ARGVAR":91,"Symbol":92,"SYMBOL":93,"Decorator":94,"Arguments":95,".":96,"AlphaNumeric":97,"NUMBER":98,"UNIT":99,"InterpolatedString":100,"STRING_START":101,"NEOSTRING":102,"Interpolation":103,"STRING_END":104,"{{":105,"}}":106,"JS":107,"REGEX":108,"BOOL":109,"TRUE":110,"FALSE":111,"NULL":112,"UNDEFINED":113,"RETURN":114,"Selector":115,"SELECTOR_START":116,"SELECTOR_PART":117,"SELECTOR_END":118,"TAG_START":119,"TagOptions":120,"TAG_END":121,"TagBody":122,"TagTypeName":123,"Self":124,"TAG_TYPE":125,"TagIdentifier":126,"StyleBlockDeclaration":127,"CSS":128,"CSS_SEL":129,"StyleBody":130,"CSS_END":131,"GLOBAL":132,"LOCAL":133,"StyleBlockBody":134,"OptStyleBody":135,"StyleNode":136,"StyleDeclaration":137,"StyleProperty":138,":":139,"StyleExpressions":140,"=":141,"CSSPROP":142,"StyleOperator":143,"MATH":144,"+":145,"-":146,"StyleExpression":147,"StyleTerm":148,"/":149,"StyleValue":150,"StyleOperation":151,"StyleFunctionArgs":152,"StyleFunctionArg":153,"StyleTermPlaceholder":154,"CSSUNIT":155,"StyleParens":156,"(":157,")":158,"CSSVAR":159,"DIMENSION":160,"COLOR":161,"PERCENTAGE":162,"CSSURL":163,"CSSFUNCTION":164,"CSSIDENTIFIER":165,"COMPARE":166,"TAG_REF":167,"TAG_ID":168,"TAG_SYMBOL_ID":169,"SYMBOL_ID":170,"TAG_FLAG":171,"TAG_ATTR":172,"STYLE_START":173,"STYLE_END":174,"T.":175,"T:":176,"T@":177,"@":178,"TAG_LITERAL":179,"UNARY":180,"#":181,"TAG_WS":182,"ArgList":183,"TagAttrValue":184,"TagFlag":185,"%":186,"TagPartIdentifier":187,"VALUE_START":188,"VALUE_END":189,"TagBodyList":190,"TagBodyItem":191,"SEPARATOR":192,"...":193,"Splat":194,"LOGIC":195,"TagDeclarationBlock":196,"TAG":197,"TagType":198,"TagId":199,"Assignable":200,"AssignObj":201,"ObjAssignable":202,"SimpleObjAssignable":203,"[":204,"]":205,"HERECOMMENT":206,"COMMENT":207,"Method":208,"Do":209,"Begin":210,"BEGIN":211,"DO":212,"BLOCK_PARAM_START":213,"ParamList":214,"BLOCK_PARAM_END":215,"STATIC":216,"DEF":217,"MethodScope":218,"MethodScopeType":219,"MethodIdentifier":220,"MethodParams":221,"MethodBody":222,"DEF_BODY":223,"DEF_EMPTY":224,"This":225,"OptSemicolon":226,";":227,"Param":228,"ParamExpression":229,"ParamValue":230,"Object":231,"Array":232,"ParamVar":233,"BLOCK_ARG":234,"SPLAT":235,"VarKeyword":236,"VAR":237,"LET":238,"CONST":239,"VarAssignable":240,"SimpleAssignable":241,"ENV_FLAG":242,"Access":243,"SoakableOp":244,"INDEX_START":245,"IndexValue":246,"INDEX_END":247,"?.":248,"Super":249,"SUPER":250,"TaggedTemplate":251,"AWAIT":252,"Range":253,"ARGUMENTS":254,"Invocation":255,"BANG":256,"AssignList":257,"ExpressionList":258,"ClassStart":259,"CLASS":260,"ClassName":261,"ClassBodyBlock":262,"ClassBodyLine":263,"ClassDeclLine":264,"ClassFieldDeclaration":265,"DECLARE":266,"ClassField":267,"ClassFieldOp":268,"AccessorBody":269,"FieldDescriptorFull":270,"FieldDescriptor":271,"ClassFieldDecorati
|
||
|
terminals_: {2:"error",6:"TERMINATOR",7:"BODYSTART",11:"TYPE",12:"EMPTY_BLOCK",13:"INDENT",14:"OUTDENT",25:"STATEMENT",26:"BREAK",27:"CALL_START",28:"CALL_END",29:"CONTINUE",30:"DEBUGGER",32:"EXTEND",35:"EXPORT",36:"{",38:"}",39:"FROM",41:"EXPORT_ALL",42:"AS",44:"DEFAULT",51:"IMPORT",53:"TYPEIMPORT",55:"IMPORT_COMMA",57:"STRING",58:"IMPORT_ALL",60:",",65:"REQUIRE",83:"IDENTIFIER",85:"SYMBOLID",86:"DECORATOR",87:"MIXIN",89:"KEY",91:"ARGVAR",93:"SYMBOL",96:".",98:"NUMBER",99:"UNIT",101:"STRING_START",102:"NEOSTRING",104:"STRING_END",105:"{{",106:"}}",107:"JS",108:"REGEX",109:"BOOL",110:"TRUE",111:"FALSE",112:"NULL",113:"UNDEFINED",114:"RETURN",116:"SELECTOR_START",117:"SELECTOR_PART",118:"SELECTOR_END",119:"TAG_START",121:"TAG_END",125:"TAG_TYPE",128:"CSS",129:"CSS_SEL",131:"CSS_END",132:"GLOBAL",133:"LOCAL",139:":",141:"=",142:"CSSPROP",144:"MATH",145:"+",146:"-",149:"/",155:"CSSUNIT",157:"(",158:")",159:"CSSVAR",160:"DIMENSION",161:"COLOR",162:"PERCENTAGE",163:"CSSURL",164:"CSSFUNCTION",165:"CSSIDENTIFIER",166:"COMPARE",167:"TAG_REF",168:"TAG_ID",169:"TAG_SYMBOL_ID",170:"SYMBOL_ID",171:"TAG_FLAG",172:"TAG_ATTR",173:"STYLE_START",174:"STYLE_END",175:"T.",176:"T:",177:"T@",178:"@",179:"TAG_LITERAL",180:"UNARY",181:"#",182:"TAG_WS",186:"%",187:"TagPartIdentifier",188:"VALUE_START",189:"VALUE_END",192:"SEPARATOR",193:"...",195:"LOGIC",197:"TAG",204:"[",205:"]",206:"HERECOMMENT",207:"COMMENT",211:"BEGIN",212:"DO",213:"BLOCK_PARAM_START",215:"BLOCK_PARAM_END",216:"STATIC",217:"DEF",223:"DEF_BODY",224:"DEF_EMPTY",227:";",234:"BLOCK_ARG",235:"SPLAT",237:"VAR",238:"LET",239:"CONST",242:"ENV_FLAG",245:"INDEX_START",247:"INDEX_END",248:"?.",250:"SUPER",252:"AWAIT",254:"ARGUMENTS",256:"BANG",260:"CLASS",266:"DECLARE",274:"COMPOUND_ASSIGN",276:"PROP",277:"ATTR",279:"WATCH",281:"FUNC_EXIST",282:"THIS",283:"SELF",285:"..",287:"DO_PLACEHOLDER",289:"TRY",292:"FINALLY",293:"CATCH",294:"CATCH_VAR",295:"THROW",297:"WHILE",298:"WHEN",299:"UNTIL",301:"LOOP",303:"ELSE",305:"FOR",306:"POST_FOR",310:"OWN",312:"FORIN",313:"FOROF",314:"BY",315:"SWITCH",318:"LEADING_WHEN",320:"IF",321:"ELIF",322:"POST_IF",323:"?",324:"NEW",325:"SQRT",326:"---",327:"+++",328:"--",329:"++",330:"EXP",331:"SHIFT",332:"NOT",333:"RELATION"},
|
||
|
productions_: [0,[3,0],[3,1],[3,2],[4,1],[4,1],[4,3],[4,2],[9,1],[10,1],[5,1],[5,2],[5,3],[5,4],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[19,1],[19,1],[19,1],[19,1],[19,4],[19,1],[19,4],[19,1],[31,3],[22,4],[22,6],[22,4],[22,6],[22,2],[22,3],[43,1],[43,1],[43,1],[43,1],[43,1],[45,1],[50,1],[50,1],[52,1],[21,2],[21,4],[21,5],[21,4],[21,5],[21,6],[21,7],[21,6],[21,8],[56,1],[54,3],[37,1],[37,3],[37,4],[37,4],[37,5],[37,6],[59,1],[59,1],[59,1],[59,3],[59,1],[59,3],[64,2],[66,1],[66,1],[66,0],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[81,1],[81,3],[33,1],[84,1],[62,1],[63,1],[88,1],[90,1],[92,1],[94,1],[94,2],[94,3],[20,1],[20,2],[97,2],[97,1],[97,1],[97,1],[97,1],[40,1],[100,1],[100,2],[100,2],[100,2],[103,2],[103,3],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[23,2],[23,2],[23,1],[115,1],[115,2],[115,4],[115,2],[80,3],[80,4],[123,1],[123,1],[123,1],[123,1],[123,0],[127,4],[15,1],[15,2],[15,2],[134,3],[134,3],[135,0],[135,1],[130,1],[130,2],[130,3],[130,3],[136,1],[136,3],[137,3],[137,3],[138,1],[143,1],[143,1],[143,1],[140,1],[140,3],[147,1],[147,2],[147,2],[147,3],[150,1],[150,1],[151,3],[151,3],[152,1],[152,3],[153,1],[153,2],[153,2],[153,3],[154,3],[154,2],[156,3],[156,2],[148,1],[148,1],[148,1],[148,1],[148,1],[148,1],[148,1],[148,1],[148,1],[148,4],[148,1],[148,2],[120,2],[120,1],[120,2],[120,2],[120,2],[120,2],[120,2],[120,3],[120,4],[120,5],[120,2],[120,3],[120,3],[120,4],[120,4],[120,3],[120,3],[120,3],[120,3],[120,4],[120,3],[120,4],[120,2],[120,2],[120,2],[120,3],[126,1],[126,3],[126,2],[126,4],[185,1],[185,2],[184,3],[122,2],[122,3],[122,3],[122,1],[190,1],[190,3],[190,4],[190,6],[190,4],[190,6],[191,1],[191,2],[191,1],[191,1],[191,1],[191,1],[48,1],[48,2],[48,2],[48,2],[196,2],[196,3],[196,4],[196,5],[198,1],[199,2],[73,1],[73,3],[73,5],[201,2],[201,1],[201,1],[201,3],[201,5],[201,3],[201,5],[201,1],[203,1],[203,2],[203,1],[203,1],[202,1],[202,3],[202,3],[202,1],[18,1],[18,1],[71,1],[71,1],[71,1],[210,2],[209,2],[209,5],[208,1],[208,2],[208,2],[46,6],[46,4],[221,1],[221,3],[219,1],[219,1],[220,1],[220,1],[220,1],[220,3],[220,2],[222,2],[222,3],[222,1],[218,1],[218,1],[218,1],[61,0],[61,1],[226,0],[226,1],[214,0],[214,1],[214,3],[229,1],[229,1],[229,1],[229,1],[229,1],[229,1],[230,1],[228,1],[228,1],[228,1],[228,2],[228,2],[228,3],[228,3],[228,3],[228,1],[233,1],[233,2],[194,2],[236,1],[236,1],[236,1],[240,1],[240,2],[240,1],[240,1],[17,2],[49,3],[49,5],[241,1],[241,1],[241,1],[241,1],[241,1],[241,1],[241,2],[243,3],[243,3],[243,4],[243,5],[244,1],[244,1],[249,1],[200,1],[200,1],[200,1],[251,2],[251,2],[69,2],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,2],[246,1],[231,4],[257,0],[257,1],[257,3],[257,4],[257,6],[258,1],[258,3],[258,4],[258,4],[258,6],[47,1],[47,2],[47,2],[47,2],[259,3],[259,2],[259,2],[259,4],[259,5],[259,4],[261,1],[261,1],[261,1],[261,3],[261,3],[34,2],[34,3],[34,4],[262,1],[262,3],[262,2],[263,1],[263,1],[263,2],[263,1],[263,1],[263,1],[264,2],[264,3],[264,2],[264,2],[264,2],[264,3],[264,1],[264,1],[265,3],[265,1],[265,3],[265,2],[271,1],[271,4],[271,2],[271,4],[271,3],[270,1],[270,3],[270,2],[269,1],[269,1],[272,3],[273,1],[273,1],[268,1],[268,1],[267,1],[267,2],[267,2],[267,2],[267,3],[275,1],[275,1],[278,3],[255,3],[255,2],[280,0],[280,1],[95,2],[95,4],[225,1],[124,1],[232,2],[232,4],[232,2],[284,1],[284,1],[253,5],[183,1],[183,3],[183,4],[183,6],[183,4],[183,6],[82,2],[82,1],[286,1],[286,2],[286,1],[286,1],[286,1],[288,1],[288,3],[76,2],[76,3],[76,3],[76,4],[291,2],[290,3],[290,2],[24,2],[68,3],[68,4],[68,2],[296,2],[296,4],[296,2],[296,4],[77,2],[77,2],[77,2],[77,1],[300,2],[300,2],[78,2],[78,2],[78,2],[78,4],[304,1],[304,1],[302,2],[302,2],[307,2],[307,3],[307,3],[311,1],[311,2],[311,1],[311,1],[309,1],[309,3],[309,5],[308,2],[308,2],[308,4],[308,4],[308,4],[308,6],[308,6],[79,5],[79,7],[79,4],[79,6],[316,1],[316,2],[317,3],[317,4],[319,3],[319,5],[319,4],[319,3],[74,1],[74,3],[74,3],[75,5],[72,2],[72,2],[72,2],[72,2],[72,2],[72,2],[72,2],[72,2],[72,2],[72,2],[72
|
||
|
performAction: function performAction(self, yytext, yy, yystate /* action[1] */, $$ /* vstack */) {
|
||
|
/* self == yyval */
|
||
|
|
||
|
var $0 = $$.length - 1;
|
||
|
switch (yystate) {
|
||
|
case 1:
|
||
|
return self.$ = new yy.Root([]);
|
||
|
break;
|
||
|
case 2:
|
||
|
return self.$ = new yy.Root($$[$0]);
|
||
|
break;
|
||
|
case 3:
|
||
|
return self.$ = $$[$0-1];
|
||
|
break;
|
||
|
case 4: case 10:
|
||
|
self.$ = new yy.Block([]);
|
||
|
break;
|
||
|
case 5:
|
||
|
self.$ = new yy.Block([]).add($$[$0]);
|
||
|
break;
|
||
|
case 6: case 394:
|
||
|
self.$ = $$[$0-2].break($$[$0-1]).add($$[$0]);
|
||
|
break;
|
||
|
case 7: case 395:
|
||
|
self.$ = $$[$0-1].break($$[$0]);
|
||
|
break;
|
||
|
case 8:
|
||
|
self.$ = new yy.Terminator($$[$0]);
|
||
|
break;
|
||
|
case 9:
|
||
|
self.$ = new yy.TypeAnnotation($$[$0]);
|
||
|
break;
|
||
|
case 11:
|
||
|
self.$ = new yy.Block([]).indented($$[$0-1], $$[$0]);
|
||
|
break;
|
||
|
case 12: case 89: case 141: case 147: case 222: case 391:
|
||
|
self.$ = $$[$0-1].indented($$[$0-2], $$[$0]);
|
||
|
break;
|
||
|
case 13: case 392:
|
||
|
self.$ = $$[$0-1].prebreak($$[$0-2]).indented($$[$0-3], $$[$0]);
|
||
|
break;
|
||
|
case 14: case 15: case 17: case 18: case 19: case 20: case 21: case 22: case 23: case 37: case 38: case 39: case 40: case 41: case 42: case 43: case 44: case 55: case 70: case 71: case 72: case 73: case 74: case 75: case 76: case 77: case 78: case 79: case 80: case 81: case 82: case 83: case 84: case 85: case 86: case 87: case 88: case 105: case 106: case 114: case 131: case 143: case 148: case 153: case 154: case 155: case 162: case 163: case 176: case 182: case 183: case 231: case 233: case 234: case 235: case 237: case 247: case 257: case 258: case 260: case 261: case 262: case 265: case 268: case 269: case 270: case 274: case 279: case 283: case 284: case 285: case 288: case 289: case 291: case 292: case 293: case 294: case 295: case 296: case 297: case 301: case 302: case 303: case 304: case 305: case 306: case 307: case 310: case 320: case 321: case 322: case 323: case 325: case 326: case 331: case 332: case 335: case 344: case 345: case 346: case 350: case 351: case 352: case 353: case 354: case 356: case 357: case 358: case 359: case 360: case 361: case 375: case 385: case 396: case 397: case 399: case 400: case 401: case 408: case 409: case 411: case 419: case 425: case 426: case 434: case 435: case 458: case 459: case 461: case 463: case 464: case 484: case 491: case 492: case 498: case 500: case 501: case 516: case 524:
|
||
|
self.$ = $$[$0];
|
||
|
break;
|
||
|
case 16:
|
||
|
self.$ = $$[$0].option("block", true);
|
||
|
break;
|
||
|
case 24: case 115:
|
||
|
self.$ = new yy.Literal($$[$0]);
|
||
|
break;
|
||
|
case 25:
|
||
|
self.$ = new yy.BreakStatement($$[$0]);
|
||
|
break;
|
||
|
case 26:
|
||
|
self.$ = new yy.BreakStatement($$[$0-3], $$[$0-1]);
|
||
|
break;
|
||
|
case 27:
|
||
|
self.$ = new yy.ContinueStatement($$[$0]);
|
||
|
break;
|
||
|
case 28:
|
||
|
self.$ = new yy.ContinueStatement($$[$0-3], $$[$0-1]);
|
||
|
break;
|
||
|
case 29:
|
||
|
self.$ = new yy.DebuggerStatement($$[$0]);
|
||
|
break;
|
||
|
case 30:
|
||
|
self.$ = new yy.ExtendDeclaration($$[$0-1], null, $$[$0]).set({ instanceOnly: true, extension: $$[$0-2] });
|
||
|
break;
|
||
|
case 31:
|
||
|
self.$ = new yy.ExportNamedDeclaration($$[$0-3], [$$[$0-1]]);
|
||
|
break;
|
||
|
case 32:
|
||
|
self.$ = new yy.ExportNamedDeclaration($$[$0-5], [$$[$0-3]], $$[$0]);
|
||
|
break;
|
||
|
case 33:
|
||
|
self.$ = new yy.ExportAllDeclaration($$[$0-3], [new yy.ExportAllSpecifier($$[$0-2])], $$[$0]);
|
||
|
break;
|
||
|
case 34:
|
||
|
self.$ = new yy.ExportAllDeclaration($$[$0-5], [new yy.ExportAllSpecifier($$[$0-4], $$[$0-2])], $$[$0]);
|
||
|
break;
|
||
|
case 35:
|
||
|
self.$ = new yy.Export($$[$0]).set({ keyword: $$[$0-1] });
|
||
|
break;
|
||
|
case 36:
|
||
|
self.$ = new yy.Export($$[$0]).set({ keyword: $$[$0-2], "default": $$[$0-1] });
|
||
|
break;
|
||
|
case 45:
|
||
|
self.$ = new yy.ImportDefaultSpecifier($$[$0]);
|
||
|
break;
|
||
|
case 46:
|
||
|
self.$ = new yy.ImportDeclaration($$[$0-1], null, $$[$0]);
|
||
|
break;
|
||
|
case 47: case 49:
|
||
|
self.$ = new yy.ImportDeclaration($$[$0-3], [$$[$0-2]], $$[$0]);
|
||
|
break;
|
||
|
case 48:
|
||
|
self.$ = new yy.ImportTypeDeclaration($$[$0-4], [$$[$0-2]], $$[$0]);
|
||
|
break;
|
||
|
case 50:
|
||
|
self.$ = new yy.ImportDeclaration($$[$0-4], null, $$[$0]);
|
||
|
break;
|
||
|
case 51:
|
||
|
self.$ = new yy.ImportDeclaration($$[$0-5], [$$[$0-3]], $$[$0]);
|
||
|
break;
|
||
|
case 52:
|
||
|
self.$ = new yy.ImportTypeDeclaration($$[$0-6], [$$[$0-3]], $$[$0]);
|
||
|
break;
|
||
|
case 53:
|
||
|
self.$ = new yy.ImportDeclaration($$[$0-5], [$$[$0-4], $$[$0-2]], $$[$0]);
|
||
|
break;
|
||
|
case 54:
|
||
|
self.$ = new yy.ImportDeclaration($$[$0-7], [$$[$0-6], $$[$0-3]], $$[$0]);
|
||
|
break;
|
||
|
case 56:
|
||
|
self.$ = new yy.ImportNamespaceSpecifier(new yy.Literal($$[$0-2]), $$[$0]);
|
||
|
break;
|
||
|
case 57:
|
||
|
self.$ = new yy.ESMSpecifierList([]).add($$[$0]);
|
||
|
break;
|
||
|
case 58: case 99: case 146: case 157: case 167: case 226: case 367: case 371: case 418: case 452:
|
||
|
self.$ = $$[$0-2].add($$[$0]);
|
||
|
break;
|
||
|
case 59:
|
||
|
self.$ = $$[$0-3].add($$[$0]);
|
||
|
break;
|
||
|
case 60: case 195:
|
||
|
self.$ = $$[$0-2];
|
||
|
break;
|
||
|
case 61:
|
||
|
self.$ = $$[$0-3];
|
||
|
break;
|
||
|
case 62: case 230: case 374: case 456:
|
||
|
self.$ = $$[$0-5].concat($$[$0-2]);
|
||
|
break;
|
||
|
case 63: case 64: case 65:
|
||
|
self.$ = new yy.ImportSpecifier($$[$0]);
|
||
|
break;
|
||
|
case 66:
|
||
|
self.$ = new yy.ImportSpecifier($$[$0-2], $$[$0]);
|
||
|
break;
|
||
|
case 67:
|
||
|
self.$ = new yy.ImportSpecifier(new yy.Literal($$[$0]));
|
||
|
break;
|
||
|
case 68:
|
||
|
self.$ = new yy.ImportSpecifier(new yy.Literal($$[$0-2]), $$[$0]);
|
||
|
break;
|
||
|
case 69:
|
||
|
self.$ = new yy.Require($$[$0]).set({ keyword: $$[$0-1] });
|
||
|
break;
|
||
|
case 90: case 94:
|
||
|
self.$ = new yy.Identifier($$[$0]);
|
||
|
break;
|
||
|
case 91:
|
||
|
self.$ = new yy.SymbolIdentifier($$[$0]);
|
||
|
break;
|
||
|
case 92:
|
||
|
self.$ = new yy.DecoratorIdentifier($$[$0]);
|
||
|
break;
|
||
|
case 93:
|
||
|
self.$ = new yy.MixinIdentifier($$[$0]);
|
||
|
break;
|
||
|
case 95:
|
||
|
self.$ = new yy.Argvar($$[$0]);
|
||
|
break;
|
||
|
case 96:
|
||
|
self.$ = new yy.Symbol($$[$0]);
|
||
|
break;
|
||
|
case 97:
|
||
|
self.$ = new yy.Decorator($$[$0]);
|
||
|
break;
|
||
|
case 98:
|
||
|
self.$ = new yy.Decorator($$[$0-1]).set({ params: $$[$0] });
|
||
|
break;
|
||
|
case 100: case 299: case 502:
|
||
|
self.$ = [$$[$0]];
|
||
|
break;
|
||
|
case 101: case 517:
|
||
|
self.$ = $$[$0-1].concat($$[$0]);
|
||
|
break;
|
||
|
case 102:
|
||
|
self.$ = new yy.NumWithUnit($$[$0-1], $$[$0]);
|
||
|
break;
|
||
|
case 103:
|
||
|
self.$ = new yy.Num($$[$0]);
|
||
|
break;
|
||
|
case 104: case 107:
|
||
|
self.$ = new yy.Str($$[$0]);
|
||
|
break;
|
||
|
case 108:
|
||
|
self.$ = new yy.InterpolatedString([], { open: $$[$0] });
|
||
|
break;
|
||
|
case 109: case 126: case 145: case 159: case 160: case 169: case 170: case 216: case 219:
|
||
|
self.$ = $$[$0-1].add($$[$0]);
|
||
|
break;
|
||
|
case 110:
|
||
|
self.$ = $$[$0] ? $$[$0-1].add($$[$0]) : $$[$0-1];
|
||
|
break;
|
||
|
case 111: case 128:
|
||
|
self.$ = $$[$0-1].option("close", $$[$0]);
|
||
|
break;
|
||
|
case 112:
|
||
|
self.$ = null;
|
||
|
break;
|
||
|
case 113: case 211: case 212: case 220: case 223: case 280: case 457:
|
||
|
self.$ = $$[$0-1];
|
||
|
break;
|
||
|
case 116:
|
||
|
self.$ = new yy.RegExp($$[$0]);
|
||
|
break;
|
||
|
case 117:
|
||
|
self.$ = new yy.Bool($$[$0]);
|
||
|
break;
|
||
|
case 118:
|
||
|
self.$ = new yy.True($$[$0]);
|
||
|
break;
|
||
|
case 119:
|
||
|
self.$ = new yy.False($$[$0]);
|
||
|
break;
|
||
|
case 120:
|
||
|
self.$ = new yy.Nil($$[$0]);
|
||
|
break;
|
||
|
case 121:
|
||
|
self.$ = new yy.Undefined($$[$0]);
|
||
|
break;
|
||
|
case 122: case 123:
|
||
|
self.$ = new yy.Return($$[$0]).set({ keyword: $$[$0-1] });
|
||
|
break;
|
||
|
case 124:
|
||
|
self.$ = new yy.Return().set({ keyword: $$[$0] });
|
||
|
break;
|
||
|
case 125:
|
||
|
self.$ = new yy.Selector([], { type: $$[$0], open: $$[$0] });
|
||
|
break;
|
||
|
case 127: case 217:
|
||
|
self.$ = $$[$0-3].add($$[$0-1]);
|
||
|
break;
|
||
|
case 129:
|
||
|
self.$ = $$[$0-1].set({ open: $$[$0-2], close: $$[$0] });
|
||
|
break;
|
||
|
case 130:
|
||
|
self.$ = $$[$0-2].set({ body: $$[$0], open: $$[$0-3], close: $$[$0-1] });
|
||
|
break;
|
||
|
case 132: case 133: case 245:
|
||
|
self.$ = new yy.TagTypeIdentifier($$[$0]);
|
||
|
break;
|
||
|
case 134:
|
||
|
self.$ = new yy.ExpressionNode($$[$0]);
|
||
|
break;
|
||
|
case 135:
|
||
|
self.$ = new yy.TagTypeIdentifier("div");
|
||
|
break;
|
||
|
case 136:
|
||
|
self.$ = new yy.StyleRuleSet($$[$0-2], $$[$0-1]).set({ name: $$[$0-3] });
|
||
|
break;
|
||
|
case 137:
|
||
|
self.$ = $$[$0].set({ toplevel: true });
|
||
|
break;
|
||
|
case 138: case 240: case 275: case 378:
|
||
|
self.$ = $$[$0].set({ global: $$[$0-1] });
|
||
|
break;
|
||
|
case 139: case 377:
|
||
|
self.$ = $$[$0].set({ local: $$[$0-1] });
|
||
|
break;
|
||
|
case 140:
|
||
|
self.$ = new yy.StyleBody([]).indented($$[$0-2], $$[$0]);
|
||
|
break;
|
||
|
case 142:
|
||
|
self.$ = new yy.StyleBody([]);
|
||
|
break;
|
||
|
case 144:
|
||
|
self.$ = new yy.StyleBody([$$[$0]]);
|
||
|
break;
|
||
|
case 149:
|
||
|
self.$ = new yy.StyleRuleSet($$[$0-2], $$[$0-1]);
|
||
|
break;
|
||
|
case 150: case 151:
|
||
|
self.$ = new yy.StyleDeclaration($$[$0-2], $$[$0].set({ parens: false }));
|
||
|
break;
|
||
|
case 152:
|
||
|
self.$ = new yy.StyleProperty([$$[$0]]);
|
||
|
break;
|
||
|
case 156: case 166:
|
||
|
self.$ = new yy.StyleExpressions([$$[$0]]);
|
||
|
break;
|
||
|
case 158: case 168:
|
||
|
self.$ = new yy.StyleExpression().add($$[$0]);
|
||
|
break;
|
||
|
case 161: case 171:
|
||
|
self.$ = $$[$0-2].addParam($$[$0], $$[$0-1]);
|
||
|
break;
|
||
|
case 164:
|
||
|
self.$ = new yy.StyleOperation([$$[$0-2], $$[$0-1], $$[$0]]);
|
||
|
break;
|
||
|
case 165:
|
||
|
self.$ = $$[$0-2].add([$$[$0-1], $$[$0]]);
|
||
|
break;
|
||
|
case 172:
|
||
|
self.$ = new yy.StyleInterpolationExpression($$[$0-1]).setEnds($$[$0-2], $$[$0]);
|
||
|
break;
|
||
|
case 173: case 175:
|
||
|
self.$ = $$[$0-1].set({ unit: $$[$0] });
|
||
|
break;
|
||
|
case 174:
|
||
|
self.$ = new yy.StyleParens($$[$0-1]).setEnds($$[$0-2], $$[$0]);
|
||
|
break;
|
||
|
case 177:
|
||
|
self.$ = new yy.StyleVar($$[$0]);
|
||
|
break;
|
||
|
case 178: case 180:
|
||
|
self.$ = new yy.StyleDimension($$[$0]);
|
||
|
break;
|
||
|
case 179:
|
||
|
self.$ = new yy.StyleColor($$[$0]);
|
||
|
break;
|
||
|
case 181:
|
||
|
self.$ = new yy.StyleNumber($$[$0]);
|
||
|
break;
|
||
|
case 184:
|
||
|
self.$ = new yy.StyleURL($$[$0]);
|
||
|
break;
|
||
|
case 185:
|
||
|
self.$ = new yy.StyleFunction($$[$0-3], $$[$0-1]);
|
||
|
break;
|
||
|
case 186:
|
||
|
self.$ = new yy.StyleIdentifier($$[$0]);
|
||
|
break;
|
||
|
case 187:
|
||
|
self.$ = $$[$0].set({ op: $$[$0-1] });
|
||
|
break;
|
||
|
case 188:
|
||
|
self.$ = new yy.Tag({ type: $$[$0-1], reference: $$[$0] });
|
||
|
break;
|
||
|
case 189:
|
||
|
self.$ = new yy.Tag({ type: $$[$0] });
|
||
|
break;
|
||
|
case 190:
|
||
|
self.$ = $$[$0-1].addPart($$[$0], yy.TagId);
|
||
|
break;
|
||
|
case 191: case 192:
|
||
|
self.$ = $$[$0-1].addPart(new yy.IdentifierExpression($$[$0].cloneSlice(1)), yy.TagId);
|
||
|
break;
|
||
|
case 193:
|
||
|
self.$ = $$[$0-1].addPart($$[$0], yy.TagFlag);
|
||
|
break;
|
||
|
case 194:
|
||
|
self.$ = $$[$0-1].addPart($$[$0], yy.TagAttr);
|
||
|
break;
|
||
|
case 196:
|
||
|
self.$ = $$[$0-3].addPart(new yy.StyleRuleSet(null, $$[$0-1]), yy.TagFlag);
|
||
|
break;
|
||
|
case 197:
|
||
|
self.$ = $$[$0-4].addPart(new yy.StyleRuleSet(null, $$[$0-1]), yy.TagFlag);
|
||
|
break;
|
||
|
case 198:
|
||
|
self.$ = $$[$0-1].addPart(new yy.MixinIdentifier($$[$0]), yy.TagFlag);
|
||
|
break;
|
||
|
case 199: case 200:
|
||
|
self.$ = $$[$0-2].addPart($$[$0], yy.TagHandler);
|
||
|
break;
|
||
|
case 201:
|
||
|
self.$ = $$[$0-3].addPart($$[$0].prepend("_"), yy.TagFlag);
|
||
|
break;
|
||
|
case 202:
|
||
|
self.$ = $$[$0-3].addPart($$[$0].prepend("!"), yy.TagFlag);
|
||
|
break;
|
||
|
case 203:
|
||
|
self.$ = $$[$0-2].addPart($$[$0], yy.TagFlag);
|
||
|
break;
|
||
|
case 204:
|
||
|
self.$ = $$[$0-2].addPart($$[$0], yy.TagId);
|
||
|
break;
|
||
|
case 205:
|
||
|
self.$ = $$[$0-2].addPart($$[$0-1], yy.TagSep).addPart($$[$0], yy.TagAttr);
|
||
|
break;
|
||
|
case 206:
|
||
|
self.$ = $$[$0-2].addPart(new yy.ArgList([]), yy.TagArgList);
|
||
|
break;
|
||
|
case 207: case 209:
|
||
|
self.$ = $$[$0-3].addPart($$[$0-1], yy.TagArgList);
|
||
|
break;
|
||
|
case 208:
|
||
|
self.$ = $$[$0-2].addPart(null, yy.TagArgList);
|
||
|
break;
|
||
|
case 210:
|
||
|
self.$ = $$[$0-1].addPart($$[$0], yy.TagSep);
|
||
|
break;
|
||
|
case 213:
|
||
|
self.$ = $$[$0-2].addPart($$[$0], yy.TagAttrValue, $$[$0-1]);
|
||
|
break;
|
||
|
case 214:
|
||
|
self.$ = new yy.IdentifierExpression($$[$0]);
|
||
|
break;
|
||
|
case 215: case 263: case 264:
|
||
|
self.$ = new yy.IdentifierExpression($$[$0-1]);
|
||
|
break;
|
||
|
case 218:
|
||
|
self.$ = new yy.TagFlag();
|
||
|
break;
|
||
|
case 221:
|
||
|
self.$ = new yy.TagBody([]).indented($$[$0-1], $$[$0]);
|
||
|
break;
|
||
|
case 224:
|
||
|
self.$ = new yy.TagBody([$$[$0]]);
|
||
|
break;
|
||
|
case 225:
|
||
|
self.$ = new yy.TagBody([]).add($$[$0]);
|
||
|
break;
|
||
|
case 227: case 368: case 372: case 453:
|
||
|
self.$ = $$[$0-3].add($$[$0-1]).add($$[$0]);
|
||
|
break;
|
||
|
case 228: case 454:
|
||
|
self.$ = $$[$0-5].add($$[$0-1]).add($$[$0]);
|
||
|
break;
|
||
|
case 229: case 373: case 455:
|
||
|
self.$ = $$[$0-2].indented($$[$0-3], $$[$0]);
|
||
|
break;
|
||
|
case 232: case 460:
|
||
|
self.$ = new yy.Splat($$[$0]).set({ keyword: $$[$0-1] });
|
||
|
break;
|
||
|
case 236:
|
||
|
self.$ = $$[$0].set({ inTagTree: true });
|
||
|
break;
|
||
|
case 238:
|
||
|
self.$ = $$[$0].set({ extension: true });
|
||
|
break;
|
||
|
case 239:
|
||
|
self.$ = $$[$0].set({ local: true });
|
||
|
break;
|
||
|
case 241:
|
||
|
self.$ = new yy.TagDeclaration($$[$0]).set({ keyword: $$[$0-1] });
|
||
|
break;
|
||
|
case 242:
|
||
|
self.$ = new yy.TagDeclaration($$[$0-1], null, $$[$0]).set({ keyword: $$[$0-2] });
|
||
|
break;
|
||
|
case 243:
|
||
|
self.$ = new yy.TagDeclaration($$[$0-2], $$[$0]).set({ keyword: $$[$0-3] });
|
||
|
break;
|
||
|
case 244:
|
||
|
self.$ = new yy.TagDeclaration($$[$0-3], $$[$0-1], $$[$0]).set({ keyword: $$[$0-4] });
|
||
|
break;
|
||
|
case 246:
|
||
|
self.$ = new yy.TagIdRef($$[$0]);
|
||
|
break;
|
||
|
case 248: case 328:
|
||
|
self.$ = new yy.Assign($$[$0-1], $$[$0-2], $$[$0]);
|
||
|
break;
|
||
|
case 249: case 329:
|
||
|
self.$ = new yy.Assign($$[$0-3], $$[$0-4], $$[$0-1].indented($$[$0-2], $$[$0]));
|
||
|
break;
|
||
|
case 250:
|
||
|
self.$ = new yy.ObjRestAttr($$[$0]).set({ spread: $$[$0-1] });
|
||
|
break;
|
||
|
case 251:
|
||
|
self.$ = $$[$0].set({ inObject: true });
|
||
|
break;
|
||
|
case 252:
|
||
|
self.$ = new yy.ObjAttr($$[$0]);
|
||
|
break;
|
||
|
case 253:
|
||
|
self.$ = new yy.ObjAttr($$[$0-2], $$[$0]);
|
||
|
break;
|
||
|
case 254:
|
||
|
self.$ = new yy.ObjAttr($$[$0-4], $$[$0-1].indented($$[$0-2], $$[$0]));
|
||
|
break;
|
||
|
case 255:
|
||
|
self.$ = new yy.ObjAttr($$[$0-2], null, $$[$0]);
|
||
|
break;
|
||
|
case 256:
|
||
|
self.$ = new yy.ObjAttr($$[$0-4], null, $$[$0-1].indented($$[$0-2], $$[$0]));
|
||
|
break;
|
||
|
case 259: case 287: case 324: case 336: case 432: case 447: case 476: case 499:
|
||
|
self.$ = $$[$0-1].set({ datatype: $$[$0] });
|
||
|
break;
|
||
|
case 266:
|
||
|
self.$ = new yy.Comment($$[$0], true);
|
||
|
break;
|
||
|
case 267:
|
||
|
self.$ = new yy.Comment($$[$0], false);
|
||
|
break;
|
||
|
case 271:
|
||
|
self.$ = new yy.Begin($$[$0]);
|
||
|
break;
|
||
|
case 272:
|
||
|
self.$ = new yy.Lambda([], $$[$0], null, null, { bound: true, keyword: $$[$0-1] });
|
||
|
break;
|
||
|
case 273:
|
||
|
self.$ = new yy.Lambda($$[$0-2], $$[$0], null, null, { bound: true, keyword: $$[$0-4] });
|
||
|
break;
|
||
|
case 276: case 402: case 405:
|
||
|
self.$ = $$[$0].set({ static: $$[$0-1] });
|
||
|
break;
|
||
|
case 277:
|
||
|
self.$ = new yy.MethodDeclaration($$[$0-1], $$[$0], $$[$0-2], $$[$0-4], $$[$0-3]).set({ def: $$[$0-5], keyword: $$[$0-5], datatype: $$[$0-2].option("datatype") });
|
||
|
break;
|
||
|
case 278:
|
||
|
self.$ = new yy.MethodDeclaration($$[$0-1], $$[$0], $$[$0-2], null).set({ def: $$[$0-3], keyword: $$[$0-3], datatype: $$[$0-2].option("datatype") });
|
||
|
break;
|
||
|
case 281:
|
||
|
self.$ = { static: true };
|
||
|
break;
|
||
|
case 282:
|
||
|
self.$ = {};
|
||
|
break;
|
||
|
case 286:
|
||
|
self.$ = new yy.InterpolatedIdentifier($$[$0-1]);
|
||
|
break;
|
||
|
case 290:
|
||
|
self.$ = new yy.Block([]).set({ end: $$[$0]._loc });
|
||
|
break;
|
||
|
case 298:
|
||
|
self.$ = [];
|
||
|
break;
|
||
|
case 300:
|
||
|
self.$ = $$[$0-2].concat($$[$0]);
|
||
|
break;
|
||
|
case 308: case 309: case 317:
|
||
|
self.$ = new yy.Param($$[$0]);
|
||
|
break;
|
||
|
case 311:
|
||
|
self.$ = $$[$0].set({ splat: $$[$0-1] });
|
||
|
break;
|
||
|
case 312:
|
||
|
self.$ = $$[$0].set({ blk: $$[$0-1] });
|
||
|
break;
|
||
|
case 313:
|
||
|
self.$ = new yy.Param($$[$0-2].value(), $$[$0]).set({ datatype: $$[$0-2].option("datatype") });
|
||
|
break;
|
||
|
case 314: case 315:
|
||
|
self.$ = new yy.Param($$[$0-2], $$[$0]);
|
||
|
break;
|
||
|
case 316:
|
||
|
self.$ = new yy.RestParam($$[$0]);
|
||
|
break;
|
||
|
case 318:
|
||
|
self.$ = new yy.Param($$[$0-1]).set({ datatype: $$[$0] });
|
||
|
break;
|
||
|
case 319:
|
||
|
self.$ = yy.SPLAT($$[$0]);
|
||
|
break;
|
||
|
case 327:
|
||
|
self.$ = new yy.VarReference($$[$0], $$[$0-1]);
|
||
|
break;
|
||
|
case 330:
|
||
|
self.$ = new yy.EnvFlag($$[$0]);
|
||
|
break;
|
||
|
case 333: case 386:
|
||
|
self.$ = new yy.VarOrAccess($$[$0]);
|
||
|
break;
|
||
|
case 334: case 387:
|
||
|
self.$ = new yy.Access(".", null, $$[$0]);
|
||
|
break;
|
||
|
case 337: case 388: case 541: case 542: case 543: case 544: case 545: case 547: case 548:
|
||
|
self.$ = yy.OP($$[$0-1], $$[$0-2], $$[$0]);
|
||
|
break;
|
||
|
case 338: case 389:
|
||
|
self.$ = new yy.IndexAccess($$[$0-1], $$[$0-2], $$[$0]);
|
||
|
break;
|
||
|
case 339:
|
||
|
self.$ = new yy.IndexAccess(".", $$[$0-3], $$[$0-1]);
|
||
|
break;
|
||
|
case 340:
|
||
|
self.$ = yy.OP($$[$0-3], $$[$0-4], $$[$0-1]);
|
||
|
break;
|
||
|
case 343:
|
||
|
self.$ = new yy.Super($$[$0]);
|
||
|
break;
|
||
|
case 347: case 348:
|
||
|
self.$ = new yy.TaggedTemplate($$[$0-1], $$[$0]);
|
||
|
break;
|
||
|
case 349:
|
||
|
self.$ = new yy.Await($$[$0]).set({ keyword: $$[$0-1] });
|
||
|
break;
|
||
|
case 355:
|
||
|
self.$ = yy.ARGUMENTS;
|
||
|
break;
|
||
|
case 362:
|
||
|
self.$ = new yy.BangCall($$[$0-1]).set({ keyword: $$[$0] });
|
||
|
break;
|
||
|
case 363:
|
||
|
self.$ = new yy.Index($$[$0]);
|
||
|
break;
|
||
|
case 364:
|
||
|
self.$ = new yy.Obj($$[$0-2], $$[$0-3].generated).setEnds($$[$0-3], $$[$0]);
|
||
|
break;
|
||
|
case 365:
|
||
|
self.$ = new yy.AssignList([]);
|
||
|
break;
|
||
|
case 366:
|
||
|
self.$ = new yy.AssignList([$$[$0]]);
|
||
|
break;
|
||
|
case 369:
|
||
|
self.$ = $$[$0-5].concat($$[$0-2].indented($$[$0-3], $$[$0]));
|
||
|
break;
|
||
|
case 370:
|
||
|
self.$ = new yy.ExpressionList([]).add($$[$0]);
|
||
|
break;
|
||
|
case 376:
|
||
|
self.$ = $$[$0].set({ extension: $$[$0-1] });
|
||
|
break;
|
||
|
case 379:
|
||
|
self.$ = new yy.ClassDeclaration($$[$0-1], null, $$[$0]).set({ keyword: $$[$0-2] });
|
||
|
break;
|
||
|
case 380:
|
||
|
self.$ = new yy.ClassDeclaration($$[$0], null, []).set({ keyword: $$[$0-1] });
|
||
|
break;
|
||
|
case 381:
|
||
|
self.$ = new yy.ClassDeclaration(null, null, $$[$0]).set({ keyword: $$[$0-1] });
|
||
|
break;
|
||
|
case 382:
|
||
|
self.$ = new yy.ClassDeclaration($$[$0-2], $$[$0], []).set({ keyword: $$[$0-3] });
|
||
|
break;
|
||
|
case 383:
|
||
|
self.$ = new yy.ClassDeclaration($$[$0-3], $$[$0-1], $$[$0]).set({ keyword: $$[$0-4] });
|
||
|
break;
|
||
|
case 384:
|
||
|
self.$ = new yy.ClassDeclaration(null, $$[$0-1], $$[$0]).set({ keyword: $$[$0-3] });
|
||
|
break;
|
||
|
case 390:
|
||
|
self.$ = new yy.ClassBody([]).indented($$[$0-1], $$[$0]);
|
||
|
break;
|
||
|
case 393:
|
||
|
self.$ = new yy.ClassBody([]).add($$[$0]);
|
||
|
break;
|
||
|
case 398:
|
||
|
self.$ = $$[$0-1].concat([$$[$0]]);
|
||
|
break;
|
||
|
case 403:
|
||
|
self.$ = $$[$0].set({ static: $$[$0-1], declareOnly: $$[$0-2] });
|
||
|
break;
|
||
|
case 404: case 406:
|
||
|
self.$ = $$[$0].set({ declareOnly: $$[$0-1] });
|
||
|
break;
|
||
|
case 407:
|
||
|
self.$ = $$[$0-1].set({ static: $$[$0-1], declareOnly: $$[$0-2] });
|
||
|
break;
|
||
|
case 410:
|
||
|
self.$ = $$[$0-2].set({ value: $$[$0], op: $$[$0-1] });
|
||
|
break;
|
||
|
case 412:
|
||
|
self.$ = $$[$0-2].set({ wrapper: $$[$0] });
|
||
|
break;
|
||
|
case 413:
|
||
|
self.$ = $$[$0-1].set({ wrapper: $$[$0] });
|
||
|
break;
|
||
|
case 414:
|
||
|
self.$ = new yy.Descriptor($$[$0]);
|
||
|
break;
|
||
|
case 415:
|
||
|
self.$ = new yy.Descriptor($$[$0-1]);
|
||
|
break;
|
||
|
case 416:
|
||
|
self.$ = $$[$0-1].add($$[$0], "!");
|
||
|
break;
|
||
|
case 417:
|
||
|
self.$ = $$[$0-3].add($$[$0-1], "=");
|
||
|
break;
|
||
|
case 420:
|
||
|
self.$ = $$[$0-2].set({ "default": $$[$0] });
|
||
|
break;
|
||
|
case 421:
|
||
|
self.$ = $$[$0-1].set({ callback: $$[$0] });
|
||
|
break;
|
||
|
case 424:
|
||
|
self.$ = $$[$0-2].set({ watch: $$[$0] });
|
||
|
break;
|
||
|
case 429:
|
||
|
self.$ = new yy.ClassField($$[$0]);
|
||
|
break;
|
||
|
case 430:
|
||
|
self.$ = new yy.ClassProperty($$[$0]).set({ keyword: $$[$0-1] });
|
||
|
break;
|
||
|
case 431:
|
||
|
self.$ = new yy.ClassAttribute($$[$0]).set({ keyword: $$[$0-1] });
|
||
|
break;
|
||
|
case 433:
|
||
|
self.$ = $$[$0-2].set({ controller: $$[$0-1] });
|
||
|
break;
|
||
|
case 436:
|
||
|
self.$ = [$$[$0-2], $$[$0-1]];
|
||
|
break;
|
||
|
case 437:
|
||
|
self.$ = new yy.Call($$[$0-2], $$[$0], $$[$0-1]);
|
||
|
break;
|
||
|
case 438:
|
||
|
self.$ = $$[$0-1].addBlock($$[$0]);
|
||
|
break;
|
||
|
case 439:
|
||
|
self.$ = false;
|
||
|
break;
|
||
|
case 440:
|
||
|
self.$ = true;
|
||
|
break;
|
||
|
case 441:
|
||
|
self.$ = new yy.ArgList([]).setEnds($$[$0-1], $$[$0]);
|
||
|
break;
|
||
|
case 442:
|
||
|
self.$ = $$[$0-2].setEnds($$[$0-3], $$[$0]);
|
||
|
break;
|
||
|
case 443:
|
||
|
self.$ = new yy.This($$[$0]);
|
||
|
break;
|
||
|
case 444:
|
||
|
self.$ = new yy.Self($$[$0]);
|
||
|
break;
|
||
|
case 445:
|
||
|
self.$ = new yy.Arr(new yy.ArgList([])).setEnds($$[$0-1], $$[$0]);
|
||
|
break;
|
||
|
case 446:
|
||
|
self.$ = new yy.Arr($$[$0-2]).setEnds($$[$0-3], $$[$0-2]);
|
||
|
break;
|
||
|
case 448:
|
||
|
self.$ = "..";
|
||
|
break;
|
||
|
case 449:
|
||
|
self.$ = "...";
|
||
|
break;
|
||
|
case 450:
|
||
|
self.$ = yy.OP($$[$0-2], $$[$0-3], $$[$0-1]);
|
||
|
break;
|
||
|
case 451:
|
||
|
self.$ = new yy.ArgList([$$[$0]]);
|
||
|
break;
|
||
|
case 462:
|
||
|
self.$ = new yy.DoPlaceholder($$[$0]);
|
||
|
break;
|
||
|
case 465:
|
||
|
self.$ = [].concat($$[$0-2], $$[$0]);
|
||
|
break;
|
||
|
case 466:
|
||
|
self.$ = new yy.Try($$[$0]);
|
||
|
break;
|
||
|
case 467:
|
||
|
self.$ = new yy.Try($$[$0-1], $$[$0]);
|
||
|
break;
|
||
|
case 468:
|
||
|
self.$ = new yy.Try($$[$0-1], null, $$[$0]);
|
||
|
break;
|
||
|
case 469:
|
||
|
self.$ = new yy.Try($$[$0-2], $$[$0-1], $$[$0]);
|
||
|
break;
|
||
|
case 470:
|
||
|
self.$ = new yy.Finally($$[$0]);
|
||
|
break;
|
||
|
case 471:
|
||
|
self.$ = new yy.Catch($$[$0], $$[$0-1]);
|
||
|
break;
|
||
|
case 472:
|
||
|
self.$ = new yy.Catch($$[$0], null);
|
||
|
break;
|
||
|
case 473:
|
||
|
self.$ = new yy.Throw($$[$0]);
|
||
|
break;
|
||
|
case 474:
|
||
|
self.$ = new yy.Parens($$[$0-1], $$[$0-2], $$[$0]);
|
||
|
break;
|
||
|
case 475:
|
||
|
self.$ = new yy.ExpressionWithUnit(new yy.Parens($$[$0-2], $$[$0-3], $$[$0-1]), $$[$0]);
|
||
|
break;
|
||
|
case 477:
|
||
|
self.$ = new yy.While($$[$0], { keyword: $$[$0-1] });
|
||
|
break;
|
||
|
case 478:
|
||
|
self.$ = new yy.While($$[$0-2], { guard: $$[$0], keyword: $$[$0-3] });
|
||
|
break;
|
||
|
case 479:
|
||
|
self.$ = new yy.While($$[$0], { invert: true, keyword: $$[$0-1] });
|
||
|
break;
|
||
|
case 480:
|
||
|
self.$ = new yy.While($$[$0-2], { invert: true, guard: $$[$0], keyword: $$[$0-3] });
|
||
|
break;
|
||
|
case 481: case 489:
|
||
|
self.$ = $$[$0-1].addBody($$[$0]);
|
||
|
break;
|
||
|
case 482: case 483:
|
||
|
self.$ = $$[$0].addBody(yy.Block.wrap([$$[$0-1]]));
|
||
|
break;
|
||
|
case 485:
|
||
|
self.$ = new yy.While(new yy.Literal("true", { keyword: $$[$0-1] })).addBody($$[$0]);
|
||
|
break;
|
||
|
case 486:
|
||
|
self.$ = new yy.While(new yy.Literal("true", { keyword: $$[$0-1] })).addBody(yy.Block.wrap([$$[$0]]));
|
||
|
break;
|
||
|
case 487: case 488:
|
||
|
self.$ = $$[$0].addBody([$$[$0-1]]);
|
||
|
break;
|
||
|
case 490:
|
||
|
self.$ = $$[$0-3].addBody($$[$0-2]).addElse($$[$0]);
|
||
|
break;
|
||
|
case 493:
|
||
|
self.$ = { source: new yy.ValueNode($$[$0]) };
|
||
|
break;
|
||
|
case 494:
|
||
|
self.$ = $$[$0].configure({ own: $$[$0-1].own, await: $$[$0-1].await, name: $$[$0-1][0], index: $$[$0-1][1], keyword: $$[$0-1].keyword, params: $$[$0-1] });
|
||
|
break;
|
||
|
case 495:
|
||
|
self.$ = ($$[$0].keyword = $$[$0-1]) && $$[$0];
|
||
|
break;
|
||
|
case 496:
|
||
|
self.$ = ($$[$0].await = $$[$0-1]) && ($$[$0].keyword = $$[$0-2]) && $$[$0];
|
||
|
break;
|
||
|
case 497:
|
||
|
self.$ = ($$[$0].own = true) && ($$[$0].keyword = $$[$0-2]) && $$[$0];
|
||
|
break;
|
||
|
case 503:
|
||
|
self.$ = [$$[$0-2], $$[$0]];
|
||
|
break;
|
||
|
case 504:
|
||
|
self.$ = [$$[$0-4], $$[$0-2], $$[$0]];
|
||
|
break;
|
||
|
case 505:
|
||
|
self.$ = new yy.ForIn({ source: $$[$0] });
|
||
|
break;
|
||
|
case 506:
|
||
|
self.$ = new yy.ForOf({ source: $$[$0], object: true });
|
||
|
break;
|
||
|
case 507:
|
||
|
self.$ = new yy.ForIn({ source: $$[$0-2], guard: $$[$0] });
|
||
|
break;
|
||
|
case 508:
|
||
|
self.$ = new yy.ForOf({ source: $$[$0-2], guard: $$[$0], object: true });
|
||
|
break;
|
||
|
case 509:
|
||
|
self.$ = new yy.ForIn({ source: $$[$0-2], step: $$[$0] });
|
||
|
break;
|
||
|
case 510:
|
||
|
self.$ = new yy.ForIn({ source: $$[$0-4], guard: $$[$0-2], step: $$[$0] });
|
||
|
break;
|
||
|
case 511:
|
||
|
self.$ = new yy.ForIn({ source: $$[$0-4], step: $$[$0-2], guard: $$[$0] });
|
||
|
break;
|
||
|
case 512:
|
||
|
self.$ = new yy.Switch($$[$0-3], $$[$0-1]);
|
||
|
break;
|
||
|
case 513:
|
||
|
self.$ = new yy.Switch($$[$0-5], $$[$0-3], $$[$0-1]);
|
||
|
break;
|
||
|
case 514:
|
||
|
self.$ = new yy.Switch(null, $$[$0-1]);
|
||
|
break;
|
||
|
case 515:
|
||
|
self.$ = new yy.Switch(null, $$[$0-3], $$[$0-1]);
|
||
|
break;
|
||
|
case 518:
|
||
|
self.$ = [new yy.SwitchCase($$[$0-1], $$[$0])];
|
||
|
break;
|
||
|
case 519:
|
||
|
self.$ = [new yy.SwitchCase($$[$0-2], $$[$0-1])];
|
||
|
break;
|
||
|
case 520:
|
||
|
self.$ = new yy.If($$[$0-1], $$[$0], { type: $$[$0-2] });
|
||
|
break;
|
||
|
case 521:
|
||
|
self.$ = $$[$0-4].addElse(new yy.If($$[$0-1], $$[$0], { type: $$[$0-2] }));
|
||
|
break;
|
||
|
case 522:
|
||
|
self.$ = $$[$0-3].addElse(new yy.If($$[$0-1], $$[$0], { type: $$[$0-2] }));
|
||
|
break;
|
||
|
case 523:
|
||
|
self.$ = $$[$0-2].addElse($$[$0].set({ keyword: $$[$0-1] }));
|
||
|
break;
|
||
|
case 525:
|
||
|
self.$ = new yy.If($$[$0], new yy.Block([$$[$0-2]]), { type: $$[$0-1], statement: true });
|
||
|
break;
|
||
|
case 526:
|
||
|
self.$ = new yy.If($$[$0], new yy.Block([$$[$0-2]]), { type: $$[$0-1] });
|
||
|
break;
|
||
|
case 527:
|
||
|
self.$ = yy.If.ternary($$[$0-4], $$[$0-2], $$[$0]);
|
||
|
break;
|
||
|
case 528:
|
||
|
self.$ = yy.Instantiation.for($$[$0], $$[$0-1]);
|
||
|
break;
|
||
|
case 529: case 530: case 531: case 532: case 533: case 534:
|
||
|
self.$ = yy.OP($$[$0-1], $$[$0]);
|
||
|
break;
|
||
|
case 535: case 536:
|
||
|
self.$ = new yy.UnaryOp($$[$0-1], null, $$[$0]);
|
||
|
break;
|
||
|
case 537: case 538:
|
||
|
self.$ = new yy.UnaryOp($$[$0], $$[$0-1], null, true);
|
||
|
break;
|
||
|
case 539: case 540:
|
||
|
self.$ = new yy.Op($$[$0-1], $$[$0-2], $$[$0]);
|
||
|
break;
|
||
|
case 546:
|
||
|
self.$ = yy.OP($$[$0-1], $$[$0-3], $$[$0]).invert($$[$0-2]);
|
||
|
break;
|
||
|
case 549:
|
||
|
self.$ = yy.OP($$[$0-3], $$[$0-4], $$[$0-1].indented($$[$0-2], $$[$0]));
|
||
|
break;
|
||
|
}
|
||
|
},
|
||
|
table: [{1:[2,1],3:1,4:2,5:3,7:$V0,8:5,12:$V1,13:$V2,15:8,16:9,17:10,18:11,19:12,20:13,21:14,22:15,23:37,24:38,25:$V3,26:$V4,29:$V5,30:$V6,31:30,32:$V7,33:114,35:$V8,36:$V9,46:107,47:31,48:32,49:73,51:$Va,57:$Vb,62:89,64:59,65:$Vc,67:50,68:51,69:19,70:20,71:21,72:22,73:23,74:24,75:25,76:26,77:27,78:28,79:29,80:33,83:$Vd,84:115,85:$Ve,86:$Vf,90:112,91:$Vg,92:129,93:$Vh,94:43,97:93,98:$Vi,100:130,101:$Vj,107:$Vk,108:$Vl,109:$Vm,110:$Vn,111:$Vo,112:$Vp,113:$Vq,114:$Vr,115:56,116:$Vs,119:$Vt,124:113,127:16,128:$Vu,132:$Vv,133:$Vw,145:$Vx,146:$Vy,157:$Vz,180:$VA,181:$VB,196:82,197:$VC,199:55,200:48,204:$VD,206:$VE,207:$VF,208:60,209:61,210:62,211:$VG,212:$VH,216:$VI,217:$VJ,225:54,231:91,232:90,236:34,237:$VK,238:$VL,239:$VM,241:72,242:$VN,243:116,249:49,250:$VO,251:58,252:$VP,253:52,254:$VQ,255:57,259:81,260:$VR,282:$VS,283:$VT,289:$VU,295:$VV,296:76,297:$VW,299:$VX,300:77,301:$VY,302:78,304:121,305:$VZ,306:$V_,307:122,315:$V$,319:74,320:$V01,324:$V11,325:$V21,326:$V31,327:$V41,328:$V51,329:$V61},{1:[3]},{1:[2,2],6:$V71,9:140},{6:[1,142]},o($V81,[2,4]),o($V81,[2,5]),o($V91,[2,10]),{4:144,6:[1,145],7:$V0,8:5,14:[1,143],15:8,16:9,17:10,18:11,19:12,20:13,21:14,22:15,23:37,24:38,25:$V3,26:$V4,29:$V5,30:$V6,31:30,32:$V7,33:114,35:$V8,36:$V9,46:107,47:31,48:32,49:73,51:$Va,57:$Vb,62:89,64:59,65:$Vc,67:50,68:51,69:19,70:20,71:21,72:22,73:23,74:24,75:25,76:26,77:27,78:28,79:29,80:33,83:$Vd,84:115,85:$Ve,86:$Vf,90:112,91:$Vg,92:129,93:$Vh,94:43,97:93,98:$Vi,100:130,101:$Vj,107:$Vk,108:$Vl,109:$Vm,110:$Vn,111:$Vo,112:$Vp,113:$Vq,114:$Vr,115:56,116:$Vs,119:$Vt,124:113,127:16,128:$Vu,132:$Vv,133:$Vw,145:$Vx,146:$Vy,157:$Vz,180:$VA,181:$VB,196:82,197:$VC,199:55,200:48,204:$VD,206:$VE,207:$VF,208:60,209:61,210:62,211:$VG,212:$VH,216:$VI,217:$VJ,225:54,231:91,232:90,236:34,237:$VK,238:$VL,239:$VM,241:72,242:$VN,243:116,249:49,250:$VO,251:58,252:$VP,253:52,254:$VQ,255:57,259:81,260:$VR,282:$VS,283:$VT,289:$VU,295:$VV,296:76,297:$VW,299:$VX,300:77,301:$VY,302:78,304:121,305:$VZ,306:$V_,307:122,315:$V$,319:74,320:$V01,324:$V11,325:$V21,326:$V31,327:$V41,328:$V51,329:$V61},o($V81,[2,14]),o($V81,[2,15],{304:121,307:122,296:157,302:158,144:$Va1,145:$Vb1,146:$Vc1,166:$Vd1,195:$Ve1,297:$VW,299:$VX,305:$VZ,306:$V_,322:$Vf1,323:$Vg1,330:$Vh1,331:$Vi1,332:$Vj1,333:$Vk1}),o($V81,[2,16],{141:$Vl1}),o($V81,[2,17]),o($V81,[2,18],{304:121,307:122,296:161,302:162,297:$VW,299:$VX,305:$VZ,306:$V_,322:$Vm1}),o($V81,[2,19],{62:89,94:163,86:$Vf}),o($V81,[2,20]),o($V81,[2,21]),o($V81,[2,137]),{15:164,46:167,127:16,128:$Vu,132:$Vn1,133:$Vo1,196:166,197:$VC,217:$VJ,259:165,260:$VR},{15:170,127:16,128:$Vu,132:$Vn1,133:$Vo1,196:172,197:$VC,259:171,260:$VR},o($Vp1,[2,73]),o($Vp1,[2,74],{280:174,209:175,244:176,27:$Vq1,96:$Vr1,212:$VH,245:$Vs1,248:$Vt1,256:$Vu1,281:$Vv1}),o($Vp1,[2,75]),o($Vp1,[2,76]),o($Vp1,[2,77]),o($Vp1,[2,78]),o($Vp1,[2,79]),o($Vp1,[2,80]),o($Vp1,[2,81]),o($Vp1,[2,82]),o($Vp1,[2,83]),o($Vp1,[2,84]),o($Vp1,[2,85]),o($Vp1,[2,86]),o($Vp1,[2,87]),{33:182,36:$V9,83:$Vd,204:$Vw1,231:184,232:183,240:181},o($Vx1,[2,266]),o($Vx1,[2,267]),o($Vy1,[2,22]),o($Vy1,[2,23]),o($Vy1,[2,24]),o($Vy1,[2,25],{27:[1,186]}),o($Vy1,[2,27],{27:[1,187]}),o($Vy1,[2,29]),o($Vz1,[2,100],{96:$VA1}),{33:195,36:[1,193],40:189,52:190,53:[1,191],54:192,57:$VB1,58:$VC1,83:$Vd},{15:203,17:208,32:[1,206],36:[1,197],41:[1,198],43:199,44:[1,200],46:201,47:202,48:204,49:205,127:16,128:$Vu,132:[1,207],133:$Vw,196:82,197:$VC,217:$VJ,236:34,237:$VK,238:$VL,239:$VM,259:81,260:$VR},{129:[1,209]},{16:210,17:208,19:211,23:37,24:38,25:$V3,26:$V4,29:$V5,30:$V6,31:30,32:$V7,33:114,36:$V9,46:107,47:31,48:32,49:73,57:$Vb,64:59,65:$Vc,67:50,68:51,69:19,70:20,71:21,72:22,73:23,74:24,75:25,76:26,77:27,78:28,79:29,80:33,83:$Vd,84:115,85:$Ve,90:112,91:$Vg,92:129,93:$Vh,97:93,98:$Vi,100:130,101:$Vj,107:$Vk,108:$Vl,109:$Vm,110:$Vn,111:$Vo,112:$Vp,113:$Vq,114:$Vr,115:56,116:$Vs,119:$Vt,124:113,132:$VD1,133:$VE1,145:$Vx,146:$Vy,157:$Vz,180:$VA,181:$VB,196:82,197:$VC,199:55,200:48,204:$VD,208:60,209:61,210:62,211:$VG,212:$VH,216:$VI,217:$VJ,225:54,231:91,232:90,236:34,237:$VK,238:$VL,239:$VM,241:72,242:$VN,2
|
||
|
defaultActions: {142:[2,3],179:[2,440],524:[2,56],774:[2,140],775:[2,141]},
|
||
|
parseError: function parseError(str, hash) {
|
||
|
if (hash.recoverable) {
|
||
|
this.trace(str);
|
||
|
} else {
|
||
|
throw new Error(str);
|
||
|
}
|
||
|
},
|
||
|
parse: function parse(input, script = null) {
|
||
|
var self2 = this, stack = [0], tstack2 = [], vstack = [null], table = this.table, yytext = "", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF2 = 1;
|
||
|
var lexer2 = Object.create(this.lexer);
|
||
|
var yy = this.yy;
|
||
|
lexer2.setInput(input, yy);
|
||
|
if (typeof yy.parseError === "function") {
|
||
|
this.parseError = yy.parseError;
|
||
|
} else {
|
||
|
this.parseError = Object.getPrototypeOf(this).parseError;
|
||
|
}
|
||
|
function popStack(n) {
|
||
|
stack.length = stack.length - 2 * n;
|
||
|
vstack.length = vstack.length - n;
|
||
|
}
|
||
|
var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p2, len, newState, expected;
|
||
|
function handleError() {
|
||
|
var error_rule_depth;
|
||
|
var errStr = "";
|
||
|
function locateNearestErrorRecoveryRule(state2) {
|
||
|
var stack_probe = stack.length - 1;
|
||
|
var depth = 0;
|
||
|
for (; ; ) {
|
||
|
if (TERROR.toString() in table[state2]) {
|
||
|
return depth;
|
||
|
}
|
||
|
if (state2 === 0 || stack_probe < 2) {
|
||
|
return false;
|
||
|
}
|
||
|
stack_probe -= 2;
|
||
|
state2 = stack[stack_probe];
|
||
|
++depth;
|
||
|
}
|
||
|
}
|
||
|
if (!recovering) {
|
||
|
error_rule_depth = locateNearestErrorRecoveryRule(state);
|
||
|
expected = [];
|
||
|
var tsym = lexer2.yytext;
|
||
|
var lastToken = tsym;
|
||
|
var tok = self2.terminals_[symbol] || symbol;
|
||
|
let tidx = lexer2.tokens.indexOf(tsym);
|
||
|
let ttok = tsym;
|
||
|
while (ttok && ttok._loc == -1) {
|
||
|
ttok = lexer2.tokens[--tidx];
|
||
|
}
|
||
|
var tloc = ttok ? ttok._loc : -1;
|
||
|
var tend = tloc > -1 ? tloc + (ttok._len || 0) : -1;
|
||
|
var tpos = tloc != -1 ? "[" + ttok._loc + ":" + ttok._len + "]" : "[0:0]";
|
||
|
if (lexer2.showPosition) {
|
||
|
errStr = "Parse error at " + tpos + ":\n" + lexer2.showPosition() + "\nExpecting " + expected.join(", ") + ", got '" + tok + "'";
|
||
|
} else {
|
||
|
errStr = "Unexpected " + (symbol == EOF2 ? "end of input" : "'" + tok + "'");
|
||
|
}
|
||
|
if (script) {
|
||
|
let err = script.addDiagnostic("error", {
|
||
|
message: errStr,
|
||
|
source: "imba-parser",
|
||
|
range: script.rangeAt(tloc, tend)
|
||
|
});
|
||
|
err.raise();
|
||
|
}
|
||
|
self2.parseError(errStr, {
|
||
|
lexer: lexer2,
|
||
|
text: lexer2.match,
|
||
|
token: tok,
|
||
|
offset: tloc,
|
||
|
length: tend - tloc,
|
||
|
start: { offset: tloc },
|
||
|
end: { offset: tend },
|
||
|
line: lexer2.yylineno,
|
||
|
expected,
|
||
|
recoverable: error_rule_depth !== false
|
||
|
});
|
||
|
} else if (preErrorSymbol !== EOF2) {
|
||
|
error_rule_depth = locateNearestErrorRecoveryRule(state);
|
||
|
}
|
||
|
if (recovering == 3) {
|
||
|
if (symbol === EOF2 || preErrorSymbol === EOF2) {
|
||
|
throw new Error(errStr || "Parsing halted while starting to recover from another error.");
|
||
|
}
|
||
|
yytext = lexer2.yytext;
|
||
|
}
|
||
|
if (error_rule_depth === false) {
|
||
|
throw new Error(errStr || "Parsing halted. No suitable error recovery rule available.");
|
||
|
}
|
||
|
popStack(error_rule_depth);
|
||
|
preErrorSymbol = symbol == TERROR ? null : symbol;
|
||
|
symbol = TERROR;
|
||
|
state = stack[stack.length - 1];
|
||
|
action = table[state] && table[state][TERROR];
|
||
|
recovering = 3;
|
||
|
}
|
||
|
var __sym = this.symbols_;
|
||
|
var __prod = this.productions_;
|
||
|
while (true) {
|
||
|
state = stack[stack.length - 1];
|
||
|
if (symbol === null || typeof symbol == "undefined") {
|
||
|
symbol = __sym[lexer2.lex()] || EOF2;
|
||
|
}
|
||
|
action = table[state] && table[state][symbol];
|
||
|
_handle_error:
|
||
|
if (typeof action === "undefined" || !action.length || !action[0]) {
|
||
|
handleError();
|
||
|
}
|
||
|
switch (action[0]) {
|
||
|
case 1:
|
||
|
stack.push(symbol);
|
||
|
stack.push(action[1]);
|
||
|
vstack.push(lexer2.yytext);
|
||
|
symbol = null;
|
||
|
if (!preErrorSymbol) {
|
||
|
yytext = lexer2.yytext;
|
||
|
if (recovering > 0) {
|
||
|
recovering--;
|
||
|
}
|
||
|
} else {
|
||
|
symbol = preErrorSymbol;
|
||
|
preErrorSymbol = null;
|
||
|
}
|
||
|
break;
|
||
|
case 2:
|
||
|
len = __prod[action[1]][1];
|
||
|
yyval.$ = vstack[vstack.length - len];
|
||
|
r = this.performAction(yyval, yytext, yy, action[1], vstack);
|
||
|
if (typeof r !== "undefined") {
|
||
|
return r;
|
||
|
}
|
||
|
while (len > 0) {
|
||
|
stack.pop();
|
||
|
stack.pop();
|
||
|
vstack.pop();
|
||
|
len--;
|
||
|
}
|
||
|
stack.push(__prod[action[1]][0]);
|
||
|
newState = table[stack[stack.length - 2]][stack[stack.length - 1]];
|
||
|
stack.push(newState);
|
||
|
vstack.push(yyval.$);
|
||
|
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); };
|
||
|
}
|