UNPKG

kloudglue-alasql

Version:

Versatile SQL database for browser or node. Handles relational data and nested JSON (noSQL). Export to and import from Excel, localStorage or IndexedDB

964 lines (910 loc) 193 kB
/* 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=[2,10],$V1=[1,95],$V2=[1,96],$V3=[1,6],$V4=[1,38],$V5=[1,71],$V6=[1,68],$V7=[1,87],$V8=[1,86],$V9=[1,63],$Va=[1,94],$Vb=[1,78],$Vc=[1,76],$Vd=[1,60],$Ve=[1,64],$Vf=[1,58],$Vg=[1,62],$Vh=[1,56],$Vi=[1,66],$Vj=[1,57],$Vk=[1,61],$Vl=[1,75],$Vm=[1,69],$Vn=[1,77],$Vo=[1,79],$Vp=[1,80],$Vq=[1,73],$Vr=[1,74],$Vs=[1,72],$Vt=[1,81],$Vu=[1,82],$Vv=[1,83],$Vw=[1,84],$Vx=[1,85],$Vy=[1,91],$Vz=[1,59],$VA=[1,70],$VB=[1,65],$VC=[1,89],$VD=[1,90],$VE=[1,103],$VF=[1,99],$VG=[8,258,260,441],$VH=[8,258,260,262,441],$VI=[105,297,350],$VJ=[1,115],$VK=[1,119],$VL=[1,121],$VM=[1,146],$VN=[1,168],$VO=[1,158],$VP=[1,159],$VQ=[1,156],$VR=[1,162],$VS=[1,166],$VT=[1,163],$VU=[1,153],$VV=[1,155],$VW=[1,157],$VX=[1,164],$VY=[1,148],$VZ=[1,173],$V_=[1,169],$V$=[1,170],$V01=[1,174],$V11=[1,175],$V21=[1,176],$V31=[1,177],$V41=[1,178],$V51=[1,179],$V61=[1,180],$V71=[1,181],$V81=[1,182],$V91=[1,151],$Va1=[1,152],$Vb1=[1,160],$Vc1=[1,161],$Vd1=[1,167],$Ve1=[1,165],$Vf1=[1,154],$Vg1=[1,172],$Vh1=[1,183],$Vi1=[4,5],$Vj1=[1,189],$Vk1=[1,197],$Vl1=[8,71,93,104,134,139,140,152,168,200,213,258,260,262,441,462],$Vm1=[8,71,168,258,260,262,441,443,444,462],$Vn1=[4,5,8,47,65,67,69,71,81,90,93,97,98,99,104,106,107,108,112,113,114,120,121,126,128,134,139,140,141,142,148,149,152,158,168,176,178,190,191,192,193,194,195,196,200,207,210,211,213,227,251,258,260,261,262,263,264,265,266,267,268,269,270,271,274,276,277,278,279,281,283,284,291,337,340,341,344,346,348,349,357,358,359,376,378,379,381,382,383,384,385,389,390,393,394,405,411,439,440,441,442,462,472,474,475],$Vo1=[1,225],$Vp1=[1,231],$Vq1=[1,241],$Vr1=[1,246],$Vs1=[1,245],$Vt1=[1,251],$Vu1=[2,138],$Vv1=[1,258],$Vw1=[8,67,71,258,260,262,439,441],$Vx1=[8,71,93,104,134,136,139,140,152,154,156,165,168,200,213,258,260,262,441,442,450,462],$Vy1=[4,5,8,47,65,67,69,70,71,81,90,93,97,98,99,104,106,107,108,112,113,114,116,120,121,123,124,126,128,134,139,140,141,142,148,149,152,156,158,163,168,176,178,190,191,192,193,194,195,196,197,198,200,207,210,211,213,227,251,252,258,260,261,262,263,264,265,266,267,268,269,270,271,274,276,277,278,279,281,283,284,287,291,300,312,313,314,317,318,329,331,337,340,341,342,343,344,345,346,348,349,357,358,359,367,369,375,376,378,379,381,382,383,384,385,389,390,393,394,405,411,439,440,441,442,444,452,453,458,459,462,472,474,475],$Vz1=[4,5,8,47,65,81,99,121,128,158,227,258,260,262,281,283,284,291,337,340,341,344,346,348,349,357,358,359,376,378,379,381,382,383,384,385,389,390,393,394,405,439,440,441],$VA1=[2,439],$VB1=[1,276],$VC1=[2,772],$VD1=[1,289],$VE1=[1,287],$VF1=[1,288],$VG1=[8,71,81,121,158,258,260,262,411,441,463,464],$VH1=[8,67,258,260,262,441],$VI1=[2,496],$VJ1=[1,304],$VK1=[4,5,128],$VL1=[258,260,262,441],$VM1=[1,319],$VN1=[1,310],$VO1=[1,318],$VP1=[1,317],$VQ1=[1,324],$VR1=[1,315],$VS1=[1,316],$VT1=[1,320],$VU1=[1,322],$VV1=[1,334],$VW1=[1,331],$VX1=[1,332],$VY1=[1,312],$VZ1=[1,314],$V_1=[1,311],$V$1=[1,313],$V02=[1,321],$V12=[1,323],$V22=[1,325],$V32=[1,326],$V42=[1,327],$V52=[1,328],$V62=[1,329],$V72=[1,333],$V82=[1,335],$V92=[1,336],$Va2=[1,337],$Vb2=[1,338],$Vc2=[2,260],$Vd2=[1,347],$Ve2=[4,5,8,47,65,67,69,71,81,90,93,97,98,99,104,106,107,108,112,113,114,120,121,126,128,134,139,140,141,142,148,149,152,156,158,168,176,178,190,191,192,193,194,195,196,197,198,200,207,210,211,213,227,251,252,258,260,261,262,263,264,265,266,267,268,269,270,271,274,276,277,278,279,281,283,284,287,291,300,312,313,317,318,337,340,341,344,346,348,349,357,358,359,367,369,376,378,379,381,382,383,384,385,389,390,393,394,405,411,439,440,441,442,444,452,453,462,472,474,475],$Vf2=[4,5,8,47,65,67,69,71,81,90,93,97,98,99,104,106,107,108,112,113,114,120,121,126,128,134,139,140,141,142,148,149,152,156,158,168,176,178,190,191,192,193,194,195,196,197,198,200,207,210,211,213,227,251,252,258,260,261,262,263,264,265,266,267,268,269,270,271,274,276,277,278,279,281,283,284,287,291,300,312,313,317,318,337,340,341,344,346,348,349,357,358,359,367,369,376,378,379,381,382,383,384,385,389,390,393,394,405,411,439,440,441,442,452,453,462,472,474,475],$Vg2=[2,321],$Vh2=[1,358],$Vi2=[1,368],$Vj2=[4,5,8,47,65,67,69,71,81,90,93,97,98,99,104,106,107,108,112,113,114,120,121,126,128,134,139,140,141,142,148,149,152,158,168,176,178,190,191,192,193,194,195,196,197,198,200,207,210,211,213,227,251,258,260,261,262,263,264,265,266,267,268,269,270,271,274,276,277,278,279,281,283,284,291,337,340,341,344,346,348,349,357,358,359,367,369,376,378,379,381,382,383,384,385,389,390,393,394,405,411,439,440,441,442,452,453,462,472,474,475],$Vk2=[1,383],$Vl2=[1,391],$Vm2=[1,390],$Vn2=[8,67,69,71,93,104,134,139,140,176,178,190,191,192,193,194,195,196,197,198,200,213,258,260,262,441,453,462],$Vo2=[8,67,71,93,104,134,139,140,176,178,190,191,192,193,194,195,196,197,198,200,213,258,260,262,441,462],$Vp2=[2,176],$Vq2=[1,410],$Vr2=[2,139],$Vs2=[1,413],$Vt2=[67,81,158],$Vu2=[8,67,71,126,156,252,258,260,262,287,300,312,313,317,318,441],$Vv2=[1,432],$Vw2=[67,71,258,260,262,441],$Vx2=[1,433],$Vy2=[1,441],$Vz2=[8,67,71,258,260,262,441],$VA2=[4,5,70,105,106,107,111,115,119,124,126,148,149,150,226,227,228,229,231,239,240,241,242,243,244,245,246,247,249,250,251,252,253,255,264,361,365],$VB2=[8,71,93,104,134,139,140,152,168,200,213,258,260,262,441,442,462],$VC2=[4,5,107,251],$VD2=[1,464],$VE2=[8,67,71,258,260,262,441,466],$VF2=[8,67,71,113,258,260,262,441,465,466,470,471],$VG2=[8,71,81,121,158,258,260,262,411,441,464],$VH2=[1,480],$VI2=[1,481],$VJ2=[136,280],$VK2=[2,391],$VL2=[1,528],$VM2=[1,547],$VN2=[4,5,47,65,67,69,71,81,90,93,99,104,106,107,113,114,120,121,126,128,134,139,140,141,142,148,152,158,168,176,178,190,191,192,193,194,195,196,200,207,210,211,213,227,251,258,260,261,262,263,264,265,266,267,268,269,270,271,274,276,277,278,279,281,283,284,291,337,340,341,344,346,348,349,357,358,359,376,378,379,381,382,383,384,385,389,390,393,394,405,411,439,440,441,442,462,472,474,475],$VO2=[2,324],$VP2=[2,336],$VQ2=[1,554],$VR2=[258,260,262],$VS2=[67,369],$VT2=[67,367,369],$VU2=[4,5,8,47,65,67,69,71,81,90,93,97,98,99,104,106,107,108,112,113,114,120,121,126,128,134,139,140,141,142,148,149,152,158,168,176,178,190,191,192,193,194,195,196,200,207,210,211,213,227,251,258,260,261,262,263,264,265,266,267,268,269,270,271,274,276,277,278,279,281,283,284,291,337,340,341,344,346,348,349,357,358,359,367,369,376,378,379,381,382,383,384,385,389,390,393,394,405,411,439,440,441,442,462,472,474,475],$VV2=[1,561],$VW2=[67,367],$VX2=[8,67,69,71,93,104,134,139,140,176,178,190,191,192,193,194,195,196,197,198,200,213,258,260,262,441,462],$VY2=[8,71,93,104,134,139,140,200,213,258,260,262,441,462],$VZ2=[8,71,258,260,262,441,462],$V_2=[4,5,8,70,71,93,104,105,106,107,111,115,119,124,126,134,139,140,148,149,150,152,168,200,213,226,227,228,229,231,239,240,241,242,243,244,245,246,247,249,250,251,252,253,255,258,260,262,264,361,365,441,442,450,462],$V$2=[1,627],$V03=[1,626],$V13=[8,67,71,113,258,260,262,441,465,466,471],$V23=[8,71,81,121,158,258,260,262,411,441],$V33=[4,5,8,47,65,67,69,71,81,90,93,97,98,99,104,106,107,108,112,113,114,120,121,126,128,134,139,140,141,142,148,149,152,156,158,168,176,178,190,191,192,193,194,195,196,200,207,210,211,213,227,251,252,258,260,261,262,263,264,265,266,267,268,269,270,271,274,276,277,278,279,281,283,284,287,291,300,312,313,317,318,337,340,341,344,346,348,349,357,358,359,376,378,379,381,382,383,384,385,389,390,393,394,405,411,439,440,441,442,462,472,474,475],$V43=[8,67,71,258,260,262,439,441,472],$V53=[4,5,47,65,67,69,71,81,90,93,99,104,106,107,113,114,120,121,126,128,134,139,140,141,142,152,158,168,176,178,190,191,192,193,194,195,196,200,207,210,211,213,227,251,258,260,261,262,263,265,266,267,268,269,270,271,274,276,277,278,279,281,283,284,291,337,340,341,344,346,348,349,357,358,359,376,378,379,381,382,383,384,385,389,390,393,394,405,411,439,440,441,442,462,472,474,475],$V63=[4,5,47,65,67,69,71,81,90,93,99,104,106,107,108,112,113,114,120,121,126,128,134,139,140,141,142,148,149,152,158,168,176,178,190,191,192,193,194,195,196,200,207,210,211,213,227,251,258,260,261,262,263,264,265,266,267,268,269,270,271,274,276,277,278,279,281,283,284,291,337,340,341,344,346,348,349,357,358,359,376,378,379,381,382,383,384,385,389,390,393,394,405,411,439,440,441,442,462,472,474,475],$V73=[4,5,47,65,67,69,71,81,93,99,104,106,107,113,114,120,121,128,134,139,140,141,142,152,158,168,176,178,190,191,192,193,194,195,196,200,207,210,211,213,227,251,258,260,261,262,265,266,267,268,269,270,271,276,277,279,281,283,284,291,337,340,341,344,346,348,349,357,358,359,376,378,379,381,382,383,384,385,389,390,393,394,405,411,439,440,441,442,462,472,474,475],$V83=[2,357],$V93=[4,5,47,65,67,69,71,81,93,104,106,107,120,121,128,134,139,140,141,142,152,158,168,176,178,190,191,192,193,194,195,196,200,207,210,211,213,227,251,258,260,261,262,276,277,279,281,283,284,291,337,340,341,344,346,348,349,357,358,359,376,378,379,381,382,383,384,385,389,390,393,394,405,411,439,440,441,442,462,472,474,475],$Va3=[2,258],$Vb3=[1,699],$Vc3=[8,71,258,260,262,441],$Vd3=[8,71,93,104,134,139,140,152,200,213,258,260,262,441,444,462],$Ve3=[1,723],$Vf3=[4,5,8,47,65,67,71,81,99,104,121,128,158,227,258,260,262,281,283,284,291,337,340,341,344,346,348,349,357,358,359,376,378,379,381,382,383,384,385,389,390,393,394,405,439,440,441],$Vg3=[1,731],$Vh3=[1,730],$Vi3=[1,732],$Vj3=[8,67,71,93,104,134,139,140,152,168,200,213,258,260,262,441,442,462],$Vk3=[1,741],$Vl3=[2,513],$Vm3=[1,755],$Vn3=[113,466],$Vo3=[8,67,71,113,258,260,262,441,465,466],$Vp3=[2,652],$Vq3=[1,769],$Vr3=[1,770],$Vs3=[2,299],$Vt3=[1,793],$Vu3=[1,804],$Vv3=[4,5,8,47,65,67,71,81,99,121,128,158,227,258,260,262,281,283,284,291,337,340,341,344,346,348,349,357,358,359,376,378,379,381,382,383,384,385,389,390,393,394,405,439,440,441],$Vw3=[1,807],$Vx3=[8,67,69,71,93,104,134,139,140,176,178,190,191,192,193,194,195,196,200,213,258,260,262,441,462],$Vy3=[8,71,93,134,139,140,213,258,260,262,441,462],$Vz3=[1,815],$VA3=[1,829],$VB3=[1,819],$VC3=[1,820],$VD3=[1,822],$VE3=[1,823],$VF3=[1,824],$VG3=[1,825],$VH3=[1,826],$VI3=[1,827],$VJ3=[1,828],$VK3=[97,99],$VL3=[67,258,260,262,441],$VM3=[67,71],$VN3=[1,881],$VO3=[8,71,134,139,140,213,258,260,262,441,462],$VP3=[8,69,71,93,104,134,139,140,176,178,190,191,192,193,194,195,196,200,213,258,260,262,441,462],$VQ3=[1,917],$VR3=[1,919],$VS3=[4,5,70,115,119,124,150,249,250,255,361,365],$VT3=[1,951],$VU3=[1,953],$VV3=[1,950],$VW3=[1,949],$VX3=[1,948],$VY3=[1,954],$VZ3=[1,945],$V_3=[1,946],$V$3=[1,947],$V04=[1,958],$V14=[8,67,71,134,139,140,213,258,260,262,441,462],$V24=[1,975],$V34=[8,71,134,139,140,258,260,262,441,462],$V44=[1,986],$V54=[1,987],$V64=[1,988],$V74=[8,71,93,104,134,139,140,176,178,190,191,192,193,194,195,196,197,198,200,213,258,260,262,441,462],$V84=[8,69,71,93,104,134,139,140,176,178,190,191,192,193,194,195,196,197,198,200,213,258,260,262,441,453,462],$V94=[1,1034],$Va4=[1,1033],$Vb4=[1,1035],$Vc4=[156,163,312,313,314,317],$Vd4=[2,451],$Ve4=[1,1040],$Vf4=[1,1060],$Vg4=[8,67,71,93,134,139,140,207,213,258,260,262,441,462],$Vh4=[8,69,71,93,104,134,139,140,176,178,190,191,192,193,194,195,196,197,198,200,213,258,260,262,441,462],$Vi4=[4,8,258,260,262,287,300,441],$Vj4=[1,1176],$Vk4=[1,1182],$Vl4=[67,71,197]; var parser = {trace: function trace() { }, yy: {}, symbols_: {"error":2,"Gl":3,"A7":4,"AD":5,"main":6,"Dl":7,"Dg":8,"Dl_group0":9,"Dn":10,"Dm":11,"BG":12,"CE":13,"CA":14,"Do":15,"AlterTable":16,"AttachDatabase":17,"FW":18,"CreateIndex":19,"CreateGraph":20,"CreateTable":21,"Ff":22,"GW":23,"CreateVertex":24,"GG":25,"Delete":26,"FV":27,"FZ":28,"Fa":29,"DropTable":30,"Fh":31,"If":32,"Insert":33,"GK":34,"FU":35,"Select":36,"Fe":37,"Fc":38,"ShowDatabases":39,"Fd":40,"Fb":41,"GJ":42,"WithSelect":43,"F4":44,"F2":45,"F3":46,"EndTransaction":47,"FY":48,"Update":49,"Help":50,"EX":51,"Fn":52,"Fo":53,"F7":54,"F8":55,"F9":56,"GA":57,"GB":58,"GC":59,"Fx":60,"Fm":61,"Gh":62,"Gk":63,"GD":64,"C5":65,"Dp":66,"Da":67,"Dq":68,"AW":69,"DR":70,"DS":71,"SelectClause":72,"Select_option0":73,"D4":74,"D5":75,"EH":76,"EI":77,"EN":78,"EQ":79,"EM":80,"CU":81,"Select_repetition0":82,"Select_option1":83,"Dr":84,"CK":85,"Dr_option0":86,"Ds":87,"Dt":88,"EV":89,"Bh":90,"Ek":91,"Du":92,"B4":93,"Af":94,"EO":95,"Du_option0":96,"C9":97,"Dh":98,"DP":99,"EW":100,"Du_repetition_plus0":101,"Du_repetition_plus1":102,"Du_option1":103,"C3":104,"Ag":105,"C7":106,"AH":107,"DE":108,"C0":109,"BA":110,"DA":111,"DF":112,"DL":113,"DO":114,"De":115,"DZ":116,"DOT":117,"Fp":118,"DT":119,"Cn":120,"CX":121,"Ex":122,"Cz":123,"Dc":124,"Dw":125,"Bv":126,"Du_repetition2":127,"BS":128,"Du_repetition3":129,"Ef":130,"Du_repetition4":131,"Du_group0":132,"Du_repetition5":133,"Ct":134,"Dv":135,"AP":136,"Du_repetition6":137,"Du_repetition7":138,"Ba":139,"BE":140,"AK":141,"AJ":142,"B7":143,"CO":144,"ES":145,"Dv_repetition0":146,"Dv_repetition1":147,"DB":148,"DD":149,"Df":150,"Dx":151,"BL":152,"D2":153,"A6":154,"D3":155,"Cu":156,"SelectClause_option0":157,"CV":158,"CS":159,"Am":160,"Bk":161,"Ck":162,"BW":163,"CG":164,"Co":165,"Ei":166,"D3_option0":167,"Bb":168,"EA":169,"Eg":170,"Eo":171,"Em":172,"D7":173,"EB":174,"D6":175,"Aw":176,"AU":177,"B5":178,"D8":179,"D8_option0":180,"D8_option1":181,"D9":182,"EC":183,"EE":184,"ED":185,"EG":186,"ED_option0":187,"ED_option1":188,"EF":189,"Bq":190,"Bc":191,"BX":192,"Bg":193,"CP":194,"FULL":195,"CW":196,"By":197,"Cy":198,"E2":199,"BO":200,"EJ":201,"EL":202,"EK":203,"BP":204,"CR":205,"Ax":206,"BQ":207,"At":208,"EP":209,"AY":210,"Al":211,"Bt":212,"Bi":213,"ER":214,"B0":215,"ET":216,"EU":217,"Eb":218,"Et":219,"El":220,"En":221,"Ep":222,"EZ":223,"EY":224,"EW_group0":225,"CURRENT_TIMESTAMP":226,"AA":227,"Bs":228,"Ah":229,"FN":230,"As":231,"Ea":232,"Eh":233,"Ec":234,"B6":235,"Ed":236,"Ee":237,"B8":238,"Ce":239,"Au":240,"Bn":241,"Bl":242,"Ab":243,"BJ":244,"Be":245,"AO":246,"AV":247,"Eg_option0":248,"Cr":249,"BH":250,"AF":251,"Bw":252,"BF":253,"Eo_group0":254,"AB":255,"Eq":256,"Es":257,"BB":258,"Er":259,"C2":260,"Cl":261,"BD":262,"NOT_LIKE":263,"DC":264,"DK":265,"DM":266,"DJ":267,"DH":268,"DN":269,"DI":270,"DG":271,"Ev":272,"Ew":273,"BV":274,"Eu":275,"Ad":276,"NOT_BETWEEN":277,"BU":278,"Db":279,"Ca":280,"Cv":281,"Ey":282,"A2":283,"BY":284,"Ez":285,"ValuesListsList":286,"A1":287,"E0":288,"E1":289,"DateValue":290,"Av":291,"E6":292,"E3":293,"E7":294,"E8":295,"E4":296,"Cf":297,"E5":298,"CreateTableOption":299,"Aa":300,"Ci":301,"ColumnDefsList":302,"E9":303,"FA":304,"FB":305,"FD":306,"FE":307,"FJ":308,"FK":309,"FC":310,"Ap":311,"Ai":312,"CB":313,"Bd":314,"FD_option0":315,"FL":316,"BK":317,"CI":318,"FE_option0":319,"FG":320,"FF":321,"FH":322,"FI":323,"Bu":324,"AM":325,"FJ_option0":326,"FM":327,"FP":328,"ColumnConstraints":329,"FO":330,"BC":331,"FQ":332,"FS":333,"FR":334,"FS_option0":335,"FS_option1":336,"A8":337,"DropTable_group0":338,"FT":339,"AQ":340,"CL":341,"AN":342,"Bp":343,"AZ":344,"Az":345,"A5":346,"FX":347,"Cw":348,"CZ":349,"C1":350,"Ff_option0":351,"Ff_option1":352,"Fg":353,"CF":354,"Bz":355,"B2":356,"BR":357,"Cb":358,"AX":359,"Fs":360,"AC":361,"Ft":362,"Fq":363,"Fr":364,"DU":365,"Fu":366,"DV":367,"Fw":368,"DW":369,"Fv":370,"F1":371,"Fy":372,"Fz":373,"F0":374,"Bx":375,"Ao":376,"Cp":377,"CQ":378,"Ac":379,"F6":380,"C4":381,"Ar":382,"Ae":383,"CC":384,"CM":385,"GE":386,"GF":387,"Plugin":388,"A9":389,"A0":390,"GH":391,"GI":392,"Cs":393,"Bm":394,"GL":395,"GM":396,"GN":397,"GO":398,"GT":399,"GP":400,"GR":401,"GQ":402,"GS":403,"Ch":404,"OUTPUT":405,"CreateVertex_option0":406,"CreateVertex_option1":407,"CreateVertex_option2":408,"GV":409,"GU":410,"Aq":411,"GW_option0":412,"BN":413,"GX":414,"GY":415,"Gc":416,"GY_option0":417,"GY_option1":418,"GY_group0":419,"GY_option2":420,"GY_option3":421,"GY_group1":422,"GZ":423,"Ga":424,"Gb":425,"Gc_option0":426,"Gc_option1":427,"Gc_option2":428,"Gc_option3":429,"Gd":430,"Ge":431,"Gf":432,"Gf_option0":433,"Gg":434,"Gg_option0":435,"Gg_option1":436,"Gg_option2":437,"Gi":438,"DX":439,"DY":440,"SEMICOLON":441,"RemoveClause":442,"SearchSelector":443,"SearchFrom":444,"COLUMN":445,"DIRECTION":446,"ExprList":447,"DISTINCT":448,"UNIQUE":449,"ResultColumns":450,"PERCENT":451,"AS":452,"Literal":453,"CreateEdge":454,"Eg_option0_group0":455,"ALL":456,"NUMBER":457,"ParColsList":458,"ParLiteral":459,"TABLE":460,"CLASS":461,"SubqueryRestriction":462,"SharpValue":463,"StringValue":464,"Json":465,"GraphAsClause":466,"GraphElement":467,"GraphVar":468,"SharpLiteral":469,"STRING":470,"ColonLiteral":471,"WHERE":472,"Expression":473,"FROM":474,"TO":475,"$accept":0,"$end":1}, terminals_: {2:"error",4:"A7",5:"AD",8:"Dg",12:"BG",13:"CE",14:"CA",47:"EndTransaction",65:"C5",67:"Da",69:"AW",70:"DR",71:"DS",81:"CU",85:"CK",90:"Bh",93:"B4",94:"Af",97:"C9",98:"Dh",99:"DP",104:"C3",105:"Ag",106:"C7",107:"AH",108:"DE",109:"C0",110:"BA",111:"DA",112:"DF",113:"DL",114:"DO",115:"De",116:"DZ",117:"DOT",119:"DT",120:"Cn",121:"CX",123:"Cz",124:"Dc",126:"Bv",128:"BS",134:"Ct",136:"AP",139:"Ba",140:"BE",141:"AK",142:"AJ",143:"B7",144:"CO",148:"DB",149:"DD",150:"Df",152:"BL",154:"A6",156:"Cu",158:"CV",159:"CS",160:"Am",161:"Bk",162:"Ck",163:"BW",164:"CG",165:"Co",168:"Bb",176:"Aw",177:"AU",178:"B5",190:"Bq",191:"Bc",192:"BX",193:"Bg",194:"CP",195:"FULL",196:"CW",197:"By",198:"Cy",200:"BO",204:"BP",205:"CR",206:"Ax",207:"BQ",208:"At",210:"AY",211:"Al",212:"Bt",213:"Bi",215:"B0",226:"CURRENT_TIMESTAMP",227:"AA",228:"Bs",229:"Ah",231:"As",235:"B6",238:"B8",239:"Ce",240:"Au",241:"Bn",242:"Bl",243:"Ab",244:"BJ",245:"Be",246:"AO",247:"AV",249:"Cr",250:"BH",251:"AF",252:"Bw",253:"BF",255:"AB",258:"BB",260:"C2",261:"Cl",262:"BD",263:"NOT_LIKE",264:"DC",265:"DK",266:"DM",267:"DJ",268:"DH",269:"DN",270:"DI",271:"DG",274:"BV",276:"Ad",277:"NOT_BETWEEN",278:"BU",279:"Db",280:"Ca",281:"Cv",283:"A2",284:"BY",287:"A1",290:"DateValue",291:"Av",297:"Cf",300:"Aa",301:"Ci",311:"Ap",312:"Ai",313:"CB",314:"Bd",317:"BK",318:"CI",324:"Bu",325:"AM",329:"ColumnConstraints",331:"BC",337:"A8",340:"AQ",341:"CL",342:"AN",343:"Bp",344:"AZ",345:"Az",346:"A5",348:"Cw",349:"CZ",350:"C1",354:"CF",355:"Bz",356:"B2",357:"BR",358:"Cb",359:"AX",361:"AC",365:"DU",367:"DV",369:"DW",375:"Bx",376:"Ao",377:"Cp",378:"CQ",379:"Ac",381:"C4",382:"Ar",383:"Ae",384:"CC",385:"CM",389:"A9",390:"A0",393:"Cs",394:"Bm",404:"Ch",405:"OUTPUT",411:"Aq",413:"BN",439:"DX",440:"DY",441:"SEMICOLON",442:"RemoveClause",443:"SearchSelector",444:"SearchFrom",445:"COLUMN",446:"DIRECTION",447:"ExprList",448:"DISTINCT",449:"UNIQUE",450:"ResultColumns",451:"PERCENT",452:"AS",453:"Literal",454:"CreateEdge",456:"ALL",457:"NUMBER",458:"ParColsList",459:"ParLiteral",460:"TABLE",461:"CLASS",462:"SubqueryRestriction",463:"SharpValue",464:"StringValue",465:"Json",466:"GraphAsClause",467:"GraphElement",468:"GraphVar",469:"SharpLiteral",470:"STRING",471:"ColonLiteral",472:"WHERE",473:"Expression",474:"FROM",475:"TO"}, productions_: [0,[3,1],[3,1],[6,2],[7,3],[7,1],[7,1],[11,2],[11,4],[10,1],[15,0],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[43,3],[66,3],[66,1],[68,5],[36,9],[36,4],[84,3],[87,3],[87,1],[88,1],[88,2],[92,1],[92,5],[92,5],[92,2],[92,1],[92,2],[92,2],[92,3],[92,4],[92,4],[92,4],[92,4],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,2],[92,2],[92,2],[92,1],[92,1],[92,1],[92,2],[92,1],[92,2],[92,3],[92,3],[92,4],[92,1],[92,2],[92,2],[92,4],[92,4],[92,4],[92,4],[92,4],[92,5],[92,4],[92,4],[92,4],[92,4],[92,4],[92,4],[92,4],[92,4],[135,3],[135,1],[125,1],[125,1],[125,1],[151,2],[72,4],[72,4],[72,4],[72,3],[153,1],[153,2],[153,2],[153,2],[153,2],[153,2],[153,2],[153,2],[155,3],[155,4],[155,0],[74,0],[74,2],[74,2],[74,2],[74,2],[74,2],[75,2],[75,3],[75,5],[75,0],[175,6],[175,7],[175,6],[175,7],[173,1],[173,3],[179,4],[179,5],[179,3],[179,3],[179,2],[179,3],[179,1],[179,2],[179,3],[179,1],[179,1],[179,2],[179,3],[179,1],[179,2],[179,3],[179,1],[179,2],[179,3],[182,1],[169,3],[169,1],[174,2],[174,2],[174,1],[174,1],[183,3],[185,1],[185,2],[185,3],[185,3],[185,2],[185,3],[185,4],[185,5],[185,1],[185,2],[185,3],[185,1],[185,2],[185,3],[184,1],[184,2],[189,1],[189,2],[189,2],[189,3],[189,2],[189,3],[189,2],[189,3],[189,2],[189,2],[189,2],[186,2],[186,2],[186,0],[76,0],[76,2],[77,0],[77,4],[201,1],[201,3],[203,5],[203,4],[203,4],[203,1],[202,0],[202,2],[80,0],[80,2],[80,3],[80,2],[80,2],[80,3],[80,4],[80,3],[80,3],[78,0],[78,3],[95,1],[95,3],[209,1],[209,2],[209,3],[209,4],[79,0],[79,3],[214,0],[214,2],[145,3],[145,1],[216,3],[216,2],[216,3],[216,2],[216,3],[216,2],[216,1],[217,5],[217,3],[217,1],[89,5],[89,3],[89,3],[89,1],[100,1],[100,1],[100,1],[100,1],[100,1],[100,1],[100,1],[100,1],[100,1],[100,1],[100,1],[100,1],[100,1],[100,1],[100,1],[100,1],[100,3],[100,3],[100,3],[100,1],[100,1],[51,1],[224,2],[224,2],[223,6],[223,8],[223,6],[223,8],[232,1],[232,1],[232,1],[232,1],[232,1],[232,1],[232,1],[218,5],[218,6],[218,6],[234,0],[234,4],[234,4],[234,5],[236,3],[237,3],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[170,5],[170,3],[170,1],[170,1],[233,1],[233,3],[166,1],[91,1],[91,1],[220,1],[172,2],[221,4],[171,2],[171,2],[171,1],[171,1],[222,5],[222,4],[256,2],[256,1],[259,4],[257,2],[257,0],[219,3],[219,3],[219,3],[219,3],[219,3],[219,3],[219,3],[219,3],[219,3],[219,3],[219,5],[219,3],[219,3],[219,3],[219,5],[219,3],[219,3],[219,3],[219,3],[219,3],[219,3],[219,3],[219,3],[219,3],[219,3],[219,3],[219,6],[219,6],[219,3],[219,3],[219,2],[219,2],[219,2],[219,2],[219,3],[219,5],[219,6],[219,5],[219,6],[219,4],[219,5],[219,3],[219,4],[219,3],[219,3],[219,3],[219,3],[275,1],[275,1],[275,4],[272,1],[272,1],[272,1],[272,1],[272,1],[272,1],[273,1],[273,1],[273,1],[49,6],[49,4],[122,1],[122,3],[282,3],[26,5],[26,3],[33,5],[33,5],[33,8],[33,4],[33,7],[285,0],[285,1],[286,3],[286,1],[286,1],[286,5],[286,3],[286,3],[288,1],[288,3],[289,1],[289,1],[289,1],[289,1],[289,1],[289,1],[199,1],[199,3],[21,9],[21,5],[293,1],[293,1],[296,0],[296,1],[298,2],[298,1],[299,1],[299,3],[299,3],[292,0],[292,1],[294,0],[294,3],[295,3],[295,1],[295,2],[303,1],[303,3],[304,2],[304,2],[304,2],[304,2],[304,2],[305,0],[305,2],[310,4],[306,6],[307,9],[321,3],[320,0],[320,2],[322,4],[323,4],[308,5],[309,5],[309,5],[316,1],[316,1],[316,3],[316,3],[302,1],[302,3],[327,3],[327,2],[327,1],[230,6],[230,4],[230,1],[230,4],[330,1],[330,1],[328,0],[328,1],[332,2],[332,1],[334,3],[333,2],[333,5],[333,3],[333,6],[333,1],[333,2],[333,4],[333,1],[333,2],[333,1],[333,1],[30,4],[339,0],[339,2],[16,6],[16,6],[16,6],[16,8],[16,6],[35,5],[17,4],[17,7],[17,6],[17,9],[27,3],[18,4],[18,6],[18,9],[18,6],[347,0],[347,2],[48,3],[48,2],[28,4],[28,5],[28,5],[19,8],[19,9],[29,3],[39,2],[39,4],[39,3],[39,5],[41,2],[41,4],[41,4],[41,6],[38,4],[38,6],[40,4],[40,6],[37,4],[37,6],[22,11],[22,8],[353,3],[353,3],[353,5],[31,4],[50,2],[50,1],[61,2],[52,2],[53,2],[53,2],[53,4],[118,4],[118,2],[118,2],[118,2],[118,2],[118,1],[118,2],[118,2],[363,1],[363,1],[364,1],[364,1],[364,1],[364,1],[364,1],[364,1],[364,1],[364,3],[360,3],[360,4],[360,2],[362,2],[362,3],[362,1],[366,3],[366,1],[370,3],[370,3],[370,3],[368,3],[368,1],[60,3],[60,5],[60,6],[372,1],[372,1],[373,3],[373,2],[374,1],[374,1],[374,3],[371,1],[371,1],[45,2],[46,2],[44,2],[32,4],[32,3],[380,2],[54,3],[55,1],[56,1],[57,3],[58,2],[58,2],[59,2],[59,2],[388,1],[388,1],[64,2],[386,3],[386,1],[387,3],[387,1],[25,2],[391,1],[391,3],[392,3],[392,4],[392,5],[392,6],[42,3],[34,6],[395,1],[395,2],[396,2],[397,2],[398,2],[398,2],[398,1],[398,1],[400,4],[400,6],[402,1],[402,3],[401,5],[401,7],[401,7],[401,9],[401,7],[401,9],[403,3],[403,6],[403,3],[403,6],[399,0],[399,2],[399,5],[399,4],[399,7],[24,6],[410,2],[409,0],[409,2],[409,2],[409,1],[23,8],[20,3],[20,4],[414,3],[414,1],[415,3],[415,7],[415,4],[423,2],[424,3],[425,2],[416,4],[430,2],[431,2],[431,2],[432,4],[434,6],[434,1],[434,4],[62,3],[62,2],[438,3],[438,1],[63,2],[9,1],[9,1],[73,0],[73,1],[82,0],[82,2],[83,0],[83,1],[86,0],[86,1],[96,0],[96,1],[101,1],[101,2],[102,1],[102,2],[103,0],[103,1],[127,0],[127,2],[129,0],[129,2],[131,0],[131,2],[132,1],[132,1],[133,0],[133,2],[137,0],[137,2],[138,0],[138,2],[146,0],[146,2],[147,0],[147,2],[157,0],[157,1],[167,0],[167,1],[180,0],[180,1],[181,0],[181,1],[187,0],[187,1],[188,0],[188,1],[225,1],[225,1],[455,1],[455,1],[248,0],[248,1],[254,1],[254,1],[315,0],[315,1],[319,0],[319,1],[326,0],[326,1],[335,0],[335,1],[336,0],[336,1],[338,1],[338,1],[351,0],[351,1],[352,0],[352,1],[406,0],[406,1],[407,0],[407,1],[408,0],[408,1],[412,0],[412,1],[417,0],[417,1],[418,0],[418,1],[419,1],[419,1],[420,0],[420,1],[421,0],[421,1],[422,1],[422,1],[426,0],[426,1],[427,0],[427,1],[428,0],[428,1],[429,0],[429,1],[433,0],[433,2],[435,0],[435,2],[436,0],[436,2],[437,0],[437,2]], performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { /* this == yyval */ var $0 = $$.length - 1; switch (yystate) { case 1: if (yy.casesensitive) this.$ = $$[$0]; else this.$ = $$[$0].toLowerCase(); break; case 2: this.$ = doubleq($$[$0].substr(1,$$[$0].length-2)); break; case 3: return new yy.Statements({statements:$$[$0-1]}); break; case 4: this.$ = $$[$0-2]; if($$[$0]) $$[$0-2].push($$[$0]); break; case 5: case 6: case 62: case 68: case 119: case 153: case 179: case 180: case 216: case 235: case 246: case 318: case 333: case 398: case 411: case 412: case 416: case 424: case 464: case 465: case 580: case 587: case 611: case 613: case 615: case 629: case 630: case 660: case 678: this.$ = [$$[$0]]; break; case 7: this.$ = $$[$0]; $$[$0].explain = true; break; case 8: this.$ = $$[$0]; $$[$0].explain = true; break; case 9: this.$ = $$[$0]; // TODO combine exists and queries if(yy.exists) this.$.exists = yy.exists; delete yy.exists; if(yy.queries) this.$.queries = yy.queries; delete yy.queries; break; case 10: case 128: case 138: case 148: case 211: case 212: case 214: case 222: case 224: case 233: case 241: case 243: case 336: case 428: case 437: case 439: case 451: case 457: case 458: case 496: this.$ = undefined; break; case 60: this.$ = new yy.WithSelect({withs: $$[$0-1], select:$$[$0]}); break; case 61: $$[$0-2].push($$[$0]); this.$=$$[$0-2]; break; case 63: this.$ = {name:$$[$0-4], select:$$[$0-1]}; break; case 64: yy.extend(this.$,$$[$0-8]); yy.extend(this.$,$$[$0-7]); yy.extend(this.$,$$[$0-6]); yy.extend(this.$,$$[$0-5]); yy.extend(this.$,$$[$0-4]); yy.extend(this.$,$$[$0-3]);yy.extend(this.$,$$[$0-2]); yy.extend(this.$,$$[$0-1]); yy.extend(this.$,$$[$0]); this.$ = $$[$0-8]; /* if(yy.exists) this.$.exists = yy.exists; delete yy.exists; if(yy.queries) this.$.queries = yy.queries; delete yy.queries; */ break; case 65: this.$ = new yy.Search({selectors:$$[$0-2], from:$$[$0]}); yy.extend(this.$,$$[$0-1]); break; case 66: this.$ = {removecolumns:$$[$0]}; break; case 67: case 659: case 677: this.$ = $$[$0-2]; this.$.push($$[$0]); break; case 69: case 123: case 161: case 221: case 253: case 261: case 262: case 263: case 264: case 265: case 266: case 267: case 268: case 269: case 270: case 271: case 272: case 273: case 274: case 276: case 289: case 290: case 291: case 292: case 293: case 294: case 335: case 387: case 388: case 389: case 390: case 391: case 392: case 452: case 480: case 482: case 554: case 555: case 556: case 557: case 558: case 559: case 563: case 565: case 566: case 575: case 588: case 589: case 651: case 665: case 666: case 668: case 669: this.$ = $$[$0]; break; case 70: this.$ = {like:$$[$0]}; break; case 71: case 83: this.$ = {srchid:"PROP", args: [$$[$0]]}; break; case 72: this.$ = {srchid:"ORDERBY", args: $$[$0-1]}; break; case 73: var dir = $$[$0-1]; if(!dir) dir = 'ASC'; this.$ = {srchid:"ORDERBY", args: [{expression: new yy.Column({columnid:'_'}), direction:dir}]}; break; case 74: this.$ = {srchid:"APROP", args: [$$[$0]]}; break; case 75: this.$ = {selid:"ROOT"}; break; case 76: this.$ = {srchid:"EQ", args: [$$[$0]]}; break; case 77: this.$ = {srchid:"LIKE", args: [$$[$0]]}; break; case 78: case 79: this.$ = {selid:"WITH", args: $$[$0-1]}; break; case 80: this.$ = {srchid:$$[$0-3].toUpperCase(), args:$$[$0-1]}; break; case 81: this.$ = {srchid:"WHERE", args:[$$[$0-1]]}; break; case 82: this.$ = {srchid:"CLASS", args:[$$[$0-1]]}; break; case 84: this.$ = {srchid:"NAME", args: [$$[$0].substr(1,$$[$0].length-2)]}; break; case 85: this.$ = {srchid:"CHILD"}; break; case 86: this.$ = {srchid:"VERTEX"}; break; case 87: this.$ = {srchid:"EDGE"}; break; case 88: this.$ = {srchid:"REF"}; break; case 89: this.$ = {srchid:"SHARP", args:[$$[$0]]}; break; case 90: this.$ = {srchid:"ATTR", args:((typeof $$[$0] == 'undefined')?undefined:[$$[$0]])}; break; case 91: this.$ = {srchid:"ATTR"}; break; case 92: this.$ = {srchid:"OUT"}; break; case 93: this.$ = {srchid:"IN"}; break; case 94: this.$ = {srchid:"CONTENT"}; break; case 95: this.$ = {srchid:"PARENT"}; break; case 96: this.$ = {srchid:"EX",args:[new yy.Json({value:$$[$0]})]}; break; case 97: this.$ = {srchid:"AT", args:[$$[$0]]}; break; case 98: this.$ = {srchid:"AS", args:[$$[$0]]}; break; case 99: this.$ = {srchid:"TO", args:[$$[$0]]}; break; case 100: this.$ = {srchid:"SET", args:$$[$0-1]}; break; case 101: this.$ = {srchid:"VALUE"}; break; case 102: this.$ = {srchid:"CLASS", args:[$$[$0]]}; break; case 103: this.$ = {selid:$$[$0],args:[$$[$0-1]] }; break; case 104: this.$ = {selid:"NOT",args:$$[$0-1] }; break; case 105: this.$ = {selid:"IF",args:$$[$0-1] }; break; case 106: this.$ = {selid:$$[$0-3],args:$$[$0-1] }; break; case 107: this.$ = {selid:'DISTINCT',args:$$[$0-1] }; break; case 108: this.$ = {selid:'UNION',args:$$[$0-1] }; break; case 109: this.$ = {selid:'UNIONALL',args:$$[$0-1] }; break; case 110: this.$ = {selid:'ALL',args:[$$[$0-1]] }; break; case 111: this.$ = {selid:'ANY',args:[$$[$0-1]] }; break; case 112: this.$ = {selid:'INTERSECT',args:$$[$0-1] }; break; case 113: this.$ = {selid:'EXCEPT',args:$$[$0-1] }; break; case 114: this.$ = {selid:'AND',args:$$[$0-1] }; break; case 115: this.$ = {selid:'OR',args:$$[$0-1] }; break; case 116: this.$ = {selid:'PATH',args:[$$[$0-1]] }; break; case 117: this.$ = {srchid:'RETURNS',args:$$[$0-1] }; break; case 118: this.$ = $$[$0-2]; this.$.push($$[$0]); break; case 120: this.$ = "PLUS"; break; case 121: this.$ = "STAR"; break; case 122: this.$ = "QUESTION"; break; case 124: this.$ = new yy.Select({ columns:$$[$0], distinct: true }); yy,extend(this.$, $$[$0-3]); yy.extend(this.$, $$[$0-1]); break; case 125: this.$ = new yy.Select({ columns:$$[$0], distinct: true }); yy,extend(this.$, $$[$0-3]);yy.extend(this.$, $$[$0-1]); break; case 126: this.$ = new yy.Select({ columns:$$[$0], all:true }); yy,extend(this.$, $$[$0-3]);yy.extend(this.$, $$[$0-1]); break; case 127: if(!$$[$0]) { this.$ = new yy.Select({columns:[new yy.Column({columnid:'_',})], modifier:'COLUMN'}); } else { this.$ = new yy.Select({ columns:$$[$0] }); yy,extend(this.$, $$[$0-2]);yy.extend(this.$, $$[$0-1]); } break; case 129: this.$ = {modifier:'VALUE'} break; case 130: this.$ = {modifier:'ROW'} break; case 131: this.$ = {modifier:'COLUMN'} break; case 132: this.$ = {modifier:'MATRIX'} break; case 133: this.$ = {modifier:'TEXTSTRING'} break; case 134: this.$ = {modifier:'INDEX'} break; case 135: this.$ = {modifier:'RECORDSET'} break; case 136: this.$ = {top: $$[$0-1], percent:(typeof $$[$0] != 'undefined'?true:undefined)}; break; case 137: this.$ = {top: $$[$0-1]}; break; case 139: case 299: case 459: case 460: case 652: this.$ = undefined; break; case 140: case 141: case 142: case 143: this.$ = {into: $$[$0]} break; case 144: var s = $$[$0]; s = s.substr(1,s.length-2); var x3 = s.substr(-3).toUpperCase(); var x4 = s.substr(-4).toUpperCase(); if(s[0] == '#') { this.$ = {into: new yy.FuncValue({funcid: 'HTML', args:[new yy.StringValue({value: s}), new yy.Json({value:{headers:true}})]})}; } else if(x3=='XLS' || x3 == 'CSV' || x3=='TAB') { this.$ = {into: new yy.FuncValue({funcid: x3, args:[new yy.StringValue({value: s}), new yy.Json({value:{headers:true}})]})}; } else if(x4=='XLSX' || x4 == 'JSON') { this.$ = {into: new yy.FuncValue({funcid: x4, args:[new yy.StringValue({value: s}), new yy.Json({value:{headers:true}})]})}; } break; case 145: this.$ = { from: $$[$0] }; break; case 146: this.$ = { from: $$[$0-1], joins: $$[$0] }; break; case 147: this.$ = { from: $$[$0-2], joins: $$[$0-1] }; break; case 149: this.$ = new yy.Apply({select: $$[$0-2], applymode:'CROSS', as:$$[$0]}); break; case 150: this.$ = new yy.Apply({select: $$[$0-3], applymode:'CROSS', as:$$[$0]}); break; case 151: this.$ = new yy.Apply({select: $$[$0-2], applymode:'OUTER', as:$$[$0]}); break; case 152: this.$ = new yy.Apply({select: $$[$0-3], applymode:'OUTER', as:$$[$0]}); break; case 154: case 217: case 399: case 466: case 467: this.$ = $$[$0-2]; $$[$0-2].push($$[$0]); break; case 155: this.$ = $$[$0-2]; this.$.as = $$[$0] break; case 156: this.$ = $$[$0-3]; this.$.as = $$[$0] break; case 157: this.$ = $$[$0-1]; this.$.as = 'default' break; case 158: this.$ = new yy.Json({value:$$[$0-2]}); $$[$0-2].as = $$[$0] break; case 159: this.$ = $$[$0-1]; $$[$0-1].as = $$[$0] break; case 160: this.$ = $$[$0-2]; $$[$0-2].as = $$[$0] break; case 162: case 166: case 169: case 172: this.$ = $$[$0-1]; $$[$0-1].as = $$[$0]; break; case 163: case 167: case 170: case 173: this.$ = $$[$0-2]; $$[$0-2].as = $$[$0]; break; case 164: case 165: case 168: case 171: this.$ = $$[$0]; $$[$0].as = 'default'; break; case 174: var s = $$[$0]; s = s.substr(1,s.length-2); var x3 = s.substr(-3).toUpperCase(); var x4 = s.substr(-4).toUpperCase(); var r; if(s[0] == '#') { r = new yy.FuncValue({funcid: 'HTML', args:[new yy.StringValue({value: s}), new yy.Json({value:{headers:true}})]}); } else if(x3=='XLS' || x3 == 'CSV' || x3=='TAB') { r = new yy.FuncValue({funcid: x3, args:[new yy.StringValue({value: s}), new yy.Json({value:{headers:true}})]}); } else if(x4=='XLSX' || x4 == 'JSON') { r = new yy.FuncValue({funcid: x4, args:[new yy.StringValue({value: s}), new yy.Json({value:{headers:true}})]}); } else { throw new Error('Unknown string in BL clause'); }; this.$ = r; break; case 175: if($$[$0-2] == 'INFORMATION_SCHEMA') { this.$ = new yy.FuncValue({funcid: $$[$0-2], args:[new yy.StringValue({value:$$[$0]})]}); } else { this.$ = new yy.Table({databaseid: $$[$0-2], tableid:$$[$0]}); } break; case 176: this.$ = new yy.Table({tableid: $$[$0]}); break; case 177: case 178: this.$ = $$[$0-1]; $$[$0-1].push($$[$0]); break; case 181: this.$ = new yy.Join($$[$0-2]); yy.extend(this.$, $$[$0-1]); yy.extend(this.$, $$[$0]); break; case 182: this.$ = {table: $$[$0]}; break; case 183: this.$ = {table: $$[$0-1], as: $$[$0] } ; break; case 184: this.$ = {table: $$[$0-2], as: $$[$0] } ; break; case 185: this.$ = {json:new yy.Json({value:$$[$0-2],as:$$[$0]})}; break; case 186: this.$ = {param: $$[$0-1], as: $$[$0] } ; break; case 187: this.$ = {param: $$[$0-2], as: $$[$0] } ; break; case 188: this.$ = {select: $$[$0-3], as: $$[$0]} ; break; case 189: this.$ = {select: $$[$0-4], as: $$[$0] } ; break; case 190: this.$ = {funcid:$$[$0], as:'default'}; break; case 191: this.$ = {funcid:$$[$0-1], as: $$[$0]}; break; case 192: this.$ = {funcid:$$[$0-2], as: $$[$0]}; break; case 193: this.$ = {variable:$$[$0],as:'default'}; break; case 194: this.$ = {variable:$$[$0-1],as:$$[$0]}; break; case 195: this.$ = {variable:$$[$0-2],as:$$[$0]} break; case 196: this.$ = { joinmode: $$[$0] } ; break; case 197: this.$ = {joinmode: $$[$0-1], natural:true} ; break; case 198: case 199: this.$ = "INNER"; break; case 200: case 201: this.$ = "LEFT"; break; case 202: case 203: this.$ = "RIGHT"; break; case 204: case 205: this.$ = "OUTER"; break; case 206: this.$ = "SEMI"; break; case 207: this.$ = "ANTI"; break; case 208: this.$ = "CROSS"; break; case 209: this.$ = {on: $$[$0]}; break; case 210: case 625: this.$ = {using: $$[$0]}; break; case 213: this.$ = {where: new yy.Expression({expression:$$[$0]})}; break; case 215: this.$ = {group:$$[$0-1]}; yy.extend(this.$,$$[$0]); break; case 218: this.$ = new yy.GroupExpression({type:'GROUPING SETS', group: $$[$0-1]}); break; case 219: this.$ = new yy.GroupExpression({type:'ROLLUP', group: $$[$0-1]}); break; case 220: this.$ = new yy.GroupExpression({type:'CUBE', group: $$[$0-1]}); break; case 223: this.$ = {having:$$[$0]} break; case 225: this.$ = {union: $$[$0]} ; break; case 226: this.$ = {unionall: $$[$0]} ; break; case 227: this.$ = {except: $$[$0]} ; break; case 228: this.$ = {intersect: $$[$0]} ; break; case 229: this.$ = {union: $$[$0], corresponding:true} ; break; case 230: this.$ = {unionall: $$[$0], corresponding:true} ; break; case 231: this.$ = {except: $$[$0], corresponding:true} ; break; case 232: this.$ = {intersect: $$[$0], corresponding:true} ; break; case 234: this.$ = {order:$$[$0]} break; case 236: this.$ = $$[$0-2]; $$[$0-2].push($$[$0]) break; case 237: this.$ = new yy.Expression({expression: $$[$0], direction:'ASC'}) break; case 238: this.$ = new yy.Expression({expression: $$[$0-1], direction:$$[$0].toUpperCase()}) break; case 239: this.$ = new yy.Expression({expression: $$[$0-2], direction:'ASC', nocase:true}) break; case 240: this.$ = new yy.Expression({expression: $$[$0-3], direction:$$[$0].toUpperCase(), nocase:true}) break; case 242: this.$ = {limit:$$[$0-1]}; yy.extend(this.$, $$[$0]) break; case 244: this.$ = {offset:$$[$0]} break; case 245: case 445: case 469: case 579: case 586: case 610: case 612: case 616: $$[$0-2].push($$[$0]); this.$ = $$[$0-2]; break; case 247: case 249: case 251: $$[$0-2].as = $$[$0]; this.$ = $$[$0-2]; break; case 248: case 250: case 252: $$[$0-1].as = $$[$0]; this.$ = $$[$0-1]; break; case 254: this.$ = new yy.Column({columid: $$[$0], tableid: $$[$0-2], databaseid:$$[$0-4]}); break; case 255: this.$ = new yy.Column({columnid: $$[$0], tableid: $$[$0-2]}); break; case 256: this.$ = new yy.Column({columnid:$$[$0]}); break; case 257: this.$ = new yy.Column({columnid: $$[$0], tableid: $$[$0-2], databaseid:$$[$0-4]}); break; case 258: case 259: this.$ = new yy.Column({columnid: $$[$0], tableid: $$[$0-2]}); break; case 260: this.$ = new yy.Column({columnid: $$[$0]}); break; case 275: this.$ = new yy.Json({value:$$[$0]}); break; case 277: case 278: case 279: if(!yy.queries) yy.queries = []; yy.queries.push($$[$0-1]); $$[$0-1].queriesidx = yy.queries.length; this.$ = $$[$0-1]; break; case 280: this.$ = $$[$0] break; case 281: this.$ = new yy.FuncValue({funcid:'CURRENT_TIMESTAMP'}); break; case 282: this.$ = new yy.JavaScript({value:$$[$0].substr(2,$$[$0].length-4)}); break; case 283: this.$ = new yy.FuncValue({funcid:$$[$0], newid:true}); break; case 284: this.$ = $$[$0]; yy.extend(this.$,{newid:true}); break; case 285: this.$ = new yy.Convert({expression:$$[$0-3]}) ; yy.extend(this.$,$$[$0-1]) ; break; case 286: this.$ = new yy.Convert({expression:$$[$0-5], style:$$[$0-1]}) ; yy.extend(this.$,$$[$0-3]) ; break; case 287: this.$ = new yy.Convert({expression:$$[$0-1]}) ; yy.extend(this.$,$$[$0-3]) ; break; case 288: this.$ = new yy.Convert({expression:$$[$0-3], style:$$[$0-1]}) ; yy.extend(this.$,$$[$0-5]) ; break; case 295: this.$ = new yy.FuncValue({funcid:'CURRENT_TIMESTAMP'}); break; case 296: if($$[$0-2].length > 1 && ($$[$0-4].toUpperCase() == 'MAX' || $$[$0-4].toUpperCase() == 'MIN')) { this.$ = new yy.FuncValue({funcid:$$[$0-4],args:$$[$0-2]}); } else { this.$ = new yy.AggrValue({aggregatorid: $$[$0-4].toUpperCase(), expression: $$[$0-2].pop(), over:$$[$0]}); } break; case 297: this.$ = new yy.AggrValue({aggregatorid: $$[$0-5].toUpperCase(), expression: $$[$0-2], distinct:true, over:$$[$0]}); break; case 298: this.$ = new yy.AggrValue({aggregatorid: $$[$0-5].toUpperCase(), expression: $$[$0-2], over:$$[$0]}); break; case 300: case 301: this.$ = new yy.Over(); yy.extend(this.$,$$[$0-1]); break; case 302: this.$ = new yy.Over(); yy.extend(this.$,$$[$0-2]); yy.extend(this.$,$$[$0-1]); break; case 303: this.$ = {partition:$$[$0]}; break; case 304: this.$ = {order:$$[$0]}; break; case 305: this.$ = "SUM"; break; case 306: this.$ = "COUNT"; break; case 307: this.$ = "MIN"; break; case 308: case 478: this.$ = "MAX"; break; case 309: this.$ = "AVG"; break; case 310: this.$ = "FIRST"; break; case 311: this.$ = "LAST"; break; case 312: this.$ = "AGGR"; break; case 313: this.$ = "ARRAY"; break; case 314: var funcid = $$[$0-4]; var exprlist = $$[$0-1]; if(exprlist.length > 1 && (funcid.toUpperCase() == 'MIN' || funcid.toUpperCase() == 'MAX')) { this.$ = new yy.FuncValue({funcid: funcid, args: exprlist}); } else if(alasql.aggr[$$[$0-4]]) { this.$ = new yy.AggrValue({aggregatorid: 'REDUCE', funcid: funcid, expression: exprlist.pop(),distinct:($$[$0-2]=='DISTINCT') }); } else { this.$ = new yy.FuncValue({funcid: funcid, args: exprlist}); }; break; case 315: this.$ = new yy.FuncValue({ funcid: $$[$0-2] }) break; case 316: this.$ = new yy.LogicValue({value:true}); break; case 317: this.$ = new yy.LogicValue({value:false}); break; case 319: $$[$0-2].push($$[$0]); this.$ = $$[$0-2] break; case 320: this.$ = new yy.NumValue({value:+$$[$0]}); break; case 321: this.$ = new yy.StringValue({value: $$[$0].substr(1,$$[$0].length-2).replace(/(\\\')/g,"'").replace(/(\'\')/g,"'")}); break; case 322: this.$ = new yy.StringValue({value: $$[$0].substr(2,$$[$0].length-3).replace(/(\\\')/g,"'").replace(/(\'\')/g,"'")}); break; case 323: this.$ = new yy.NullValue({value:undefined}); break; case 324: this.$ = new yy.VarValue({variable:$$[$0]}); break; case 325: if(!yy.exists) yy.exists = []; this.$ = new yy.ExistsValue({value:$$[$0-1], existsidx:yy.exists.length}); yy.exists.push($$[$0-1]); break; case 326: case 327: this.$ = new yy.ParamValue({param: $$[$0]}); break; case 328: if(typeof yy.question == 'undefined') yy.question = 0; this.$ = new yy.ParamValue({param: yy.question++}); break; case 329: if(typeof yy.question == 'undefined') yy.question = 0; this.$ = new yy.ParamValue({param: yy.question++, array:true}); break; case 330: this.$ = new yy.CaseValue({expression:$$[$0-3], whens: $$[$0-2], elses: $$[$0-1]}); break; case 331: this.$ = new yy.CaseValue({whens: $$[$0-2], elses: $$[$0-1]}); break; case 332: case 627: case 628: this.$ = $$[$0-1]; this.$.push($$[$0]); break; case 334: this.$ = {when: $$[$0-2], then: $$[$0] }; break; case 337: this.$ = new yy.Op({left:$$[$0-2], op:'LIKE', right:$$[$0]}); break; case 338: this.$ = new yy.Op({left:$$[$0-2], op:'NOT LIKE', right:$$[$0] }); break; case 339: this.$ = new yy.Op({left:$$[$0-2], op:'+', right:$$[$0]}); break; case 340: this.$ = new yy.Op({left:$$[$0-2], op:'-', right:$$[$0]}); break; case 341: this.$ = new yy.Op({left:$$[$0-2], op:'*', right:$$[$0]}); break; case 342: this.$ = new yy.Op({left:$$[$0-2], op:'/', right:$$[$0]}); break; case 343: this.$ = new yy.Op({left:$$[$0-2], op:'%', right:$$[$0]}); break; case 344: this.$ = new yy.Op({left:$$[$0-2], op:'^', right:$$[$0]}); break; case 345: case 346: case 348: this.$ = new yy.Op({left:$$[$0-2], op:'->' , right:$$[$0]}); break; case 347: this.$ = new yy.Op({left:$$[$0-4], op:'->' , right:$$[$0-1]}); break; case 349: case 350: case 352: this.$ = new yy.Op({left:$$[$0-2], op:'!' , right:$$[$0]}); break; case 351: this.$ = new yy.Op({left:$$[$0-4], op:'!' , right:$$[$0-1]}); break; case 353: this.$ = new yy.Op({left:$$[$0-2], op:'>' , right:$$[$0]}); break; case 354: this.$ = new yy.Op({left:$$[$0-2], op:'>=' , right:$$[$0]}); break; case 355: this.$ = new yy.Op({left:$$[$0-2], op:'<' , right:$$[$0]}); break; case 356: this.$ = new yy.Op({left:$$[$0-2], op:'<=' , right:$$[$0]}); break; case 357: this.$ = new yy.Op({left:$$[$0-2], op:'=' , right:$$[$0]}); break; case 358: this.$ = new yy.Op({left:$$[$0-2], op:'==' , right:$$[$0]}); break; case 359: this.$ = new yy.Op({left:$$[$0-2], op:'===' , right:$$[$0]}); break; case 360: this.$ = new yy.Op({left:$$[$0-2], op:'!=' , right:$$[$0]}); break; case 361: this.$ = new yy.Op({left:$$[$0-2], op:'!==' , right:$$[$0]}); break; case 362: this.$ = new yy.Op({left:$$[$0-2], op:'!===' , right:$$[$0]}); break; case 363: if(!yy.queries) yy.queries = []; this.$ = new yy.Op({left:$$[$0-5], op:$$[$0-4] , allsome:$$[$0-3], right:$$[$0-1], queriesidx: yy.queries.length}); yy.queries.push($$[$0-1]); break; case 364: this.$ = new yy.Op({left:$$[$0-5], op:$$[$0-4] , allsome:$$[$0-3], right:$$[$0-1]}); break; case 365: if($$[$0-2].op == 'BETWEEN1') { if($$[$0-2].left.op == 'AND') { this.$ = new yy.Op({left:$$[$0-2].left.left,op:'AND',right: new yy.Op({left:$$[$0-2].left.right, op:'BETWEEN', right1:$$[$0-2].right, right2:$$[$0]}) }); } else { this.$ = new yy.Op({left:$$[$0-2].left, op:'BETWEEN', right1:$$[$0-2].right, right2:$$[$0]}); } } else if($$[$0-2].op == 'NOT BETWEEN1') { if($$[$0-2].left.op == 'AND') { this.$ = new yy.Op({left:$$[$0-2].left.left,op:'AND',right: new yy.Op({left:$$[$0-2].left.right, op:'NOT BETWEEN', right1:$$[$0-2].right, right2:$$[$0]}) }); } else { this.$ = new yy.Op({left:$$[$0-2].left, op:'NOT BETWEEN', right1:$$[$0-2].right, right2:$$[$0]}); } } else { this.$ = new yy.Op({left:$$[$0-2], op:'AND', right:$$[$0]}); } break; case 366: this.$ = new yy.Op({left:$$[$0-2], op:'OR' , right:$$[$0]}); break; case 367: this.$ = new yy.UniOp({op:'NOT' , right:$$[$0]}); break; case 368: this.$ = new yy.UniOp({op:'-' , right:$$[$0]}); break; case 369: this.$ = new yy.UniOp({op:'+' , right:$$[$0]}); break; case 370: this.$ = new yy.UniOp({op:'#' , right:$$[$0]}); break; case 371: this.$ = new yy.UniOp({right: $$[$0-1]}); break; case 372: if(!yy.queries) yy.queries = []; this.$ = new yy.Op({left: $$[$0-4], op:'IN', right:$$[$0-1], queriesidx: yy.queries.length}); yy.queries.push($$[$0-1]); break; case 373: if(!yy.queries) yy.queries = []; this.$ = new yy.Op({left: $$[$0-5], op:'NOT IN', right:$$[$0-1], queriesidx: yy.queries.length}); yy.queries.push($$[$0-1]); break; case 374: this.$ = new yy.Op({left: $$[$0-4], op:'IN', right:$$[$0-1]}); break; case 375: this.$ = new yy.Op({left: $$[$0-5], op:'NOT IN', right:$$[$0-1]}); break; case 376: this.$ = new yy.Op({left: $$[$0-3], op:'IN', right:[]}); break; case 377: this.$ = new yy.Op({left: $$[$0-4], op:'NOT IN', right:[]}); break; case 378: this.$ = new yy.Op({left: $$[$0-2], op:'IN', right:$$[$0]}); break; case 379: this.$ = new yy.Op({left: $$[$0-3], op:'NO