From ba12794ef73c17801aa8d4a5ddbece45eb5631e8 Mon Sep 17 00:00:00 2001 From: Martin Henz Date: Mon, 29 Oct 2018 22:06:24 +0800 Subject: [PATCH 1/2] bug in blocks --- .../lib/interpreter/parser.jison | 197 ++++++----- .../lib/interpreter/parser.jison.tpl | 197 ++++++----- .../lib/interpreter/parser.js | 332 +++++++++--------- src/stdlib/parser.js | 40 +-- 4 files changed, 407 insertions(+), 359 deletions(-) diff --git a/src/stdlib/metacircular-interpreter/lib/interpreter/parser.jison b/src/stdlib/metacircular-interpreter/lib/interpreter/parser.jison index bc11e624d..f6328ad4d 100644 --- a/src/stdlib/metacircular-interpreter/lib/interpreter/parser.jison +++ b/src/stdlib/metacircular-interpreter/lib/interpreter/parser.jison @@ -19,20 +19,21 @@ "else" return 'else' "while" return 'while' "for" return 'for' -"case" return 'case' -"default" return 'default' -"new" return 'new' "break" return 'break' "continue" return 'continue' -"var" return 'var' +"let" return 'let' +"const" return 'const' "===" return '===' +"=>" return '=>' "=" return '=' "{" return '{' "}" return '}' ";" return ';' "," return ',' -"truee" return 'true' +"true" return 'true' "false" return 'false' +"NaN" return 'NaN' +"Infinity" return 'Infinity' "[]" return 'emptylist' "[" return '[' "]" return ']' @@ -82,6 +83,7 @@ %left ';' %right '=' +%left '=>' ARROW %right '?' ':' %left '||' %left '&&' @@ -107,8 +109,6 @@ statements { $$ = []; } | statement statements { $$ = pair($1, $2); } - | '{' statements '}' - { $$ = $2; } ; statement @@ -123,11 +123,10 @@ statement | 'function' identifier '(' identifiers ')' '{' statements '}' {{ $$ = { - tag: 'var_definition', - variable: $2, + tag: 'constant_declaration', + name: $2, value: { tag: 'function_definition', - name: $2, parameters: $4, body: $7, line: yylineno, @@ -141,7 +140,15 @@ statement line: yylineno }; }} - | vardefinition + | constdeclaration + | letdeclaration + | '{' statements '}' + {{ + $$ = { + tag: 'block', + body: $2 + }; + }} | assignment ';' @@ -172,13 +179,26 @@ statement ; -vardefinition +letdeclaration + : + 'let' identifier '=' expression ';' + {{ + $$ = { + tag: 'variable_declaration', + name: $2, + value: $4, + line: yylineno + }; + }} + ; + +constdeclaration : - 'var' identifier '=' expression ';' + 'const' identifier '=' expression ';' {{ $$ = { - tag: 'var_definition', - variable: $2, + tag: 'constant_declaration', + name: $2, value: $4, line: yylineno }; @@ -190,10 +210,10 @@ assignment : expression '=' expression {{ - if ($1.tag === 'variable') { + if ($1.tag === 'name') { $$ = { tag: 'assignment', - variable: $1, + name: $1, value: $3, line: yylineno }; @@ -218,19 +238,19 @@ ifstatement 'if' '(' expression ')' '{' statements '}' 'else' '{' statements '}' {{ $$ = { - tag: 'if', + tag: 'conditional_statement', predicate: $3, - consequent: $6, - alternative: $10, + consequent: { tag: 'block', body: $6 }, + alternative: { tag: 'block', body: $10 }, line: yylineno }; }} | 'if' '(' expression ')' '{' statements '}' 'else' ifstatement {{ $$ = { - tag: 'if', + tag: 'conditional_statement', predicate: $3, - consequent: $6, + consequent: { tag: 'block', body: $6 }, alternative: pair($9, []), line: yylineno }; @@ -243,9 +263,9 @@ whilestatement 'while' '(' expression ')' '{' statements '}' {{ $$ = { - tag: 'while', + tag: 'while_loop', predicate: $3, - statements: $6, + statements: { tag: 'block', body: $6 }, line: yylineno }; }} @@ -256,11 +276,11 @@ forstatement 'for' '(' forinitialiser expression ';' forfinaliser ')' '{' statements '}' {{ $$ = { - tag: 'for', + tag: 'for_loop', initialiser: $3, predicate: $4, finaliser: $6, - statements: $9, + statements: { tag: 'block', body: $9 }, line: yylineno }; }} @@ -268,17 +288,13 @@ forstatement forinitialiser : - expression ';' - | vardefinition + letdeclaration | assignment ';' - | ';' ; forfinaliser : assignment - | expression - | ; @@ -289,7 +305,7 @@ expression $$ = { tag: 'application', operator: { - tag: 'variable', + tag: 'name', name: $2, line: yylineno }, @@ -302,7 +318,7 @@ expression $$ = { tag: 'application', operator: { - tag: 'variable', + tag: 'name', name: $2, line: yylineno }, @@ -315,7 +331,7 @@ expression $$ = { tag: 'application', operator: { - tag: 'variable', + tag: 'name', name: $2, line: yylineno }, @@ -328,7 +344,7 @@ expression $$ = { tag: 'application', operator: { - tag: 'variable', + tag: 'name', name: $2, line: yylineno }, @@ -341,7 +357,7 @@ expression $$ = { tag: 'application', operator: { - tag: 'variable', + tag: 'name', name: $2, line: yylineno }, @@ -354,7 +370,7 @@ expression $$ = { tag: 'application', operator: { - tag: 'variable', + tag: 'name', name: $1, line: yylineno }, @@ -367,7 +383,7 @@ expression $$ = { tag: 'application', operator: { - tag: 'variable', + tag: 'name', name: $1, line: yylineno }, @@ -380,7 +396,7 @@ expression $$ = { tag: 'application', operator: { - tag: 'variable', + tag: 'name', name: $1, line: yylineno }, @@ -391,7 +407,7 @@ expression | expression '&&' expression {{ $$ = { - tag: 'boolean_op', + tag: 'boolean_operation', operator: $2, operands: [$1, [$3, []]], line: yylineno @@ -400,7 +416,7 @@ expression | expression '||' expression {{ $$ = { - tag: 'boolean_op', + tag: 'boolean_operation', operator: $2, operands: [$1, [$3, []]], line: yylineno @@ -411,7 +427,7 @@ expression $$ = { tag: 'application', operator: { - tag: 'variable', + tag: 'name', name: $2, line: yylineno }, @@ -424,7 +440,7 @@ expression $$ = { tag: 'application', operator: { - tag: 'variable', + tag: 'name', name: $2, line: yylineno }, @@ -437,7 +453,7 @@ expression $$ = { tag: 'application', operator: { - tag: 'variable', + tag: 'name', name: $2, line: yylineno }, @@ -450,7 +466,7 @@ expression $$ = { tag: 'application', operator: { - tag: 'variable', + tag: 'name', name: $2, line: yylineno }, @@ -463,7 +479,7 @@ expression $$ = { tag: 'application', operator: { - tag: 'variable', + tag: 'name', name: $2, line: yylineno }, @@ -476,7 +492,7 @@ expression $$ = { tag: 'application', operator: { - tag: 'variable', + tag: 'name', name: $2, line: yylineno }, @@ -484,6 +500,38 @@ expression line: yylineno }; }} + | '(' identifiers ')' '=>' expression %prec ARROW + {{ + $$ = { + tag: 'function_definition', + parameters: $2, + body: { tag: 'return_statement', expression: $5, + line: yylineno }, + line: yylineno, + location: { + start_line: @1.first_line, + start_col: @1.first_column, + end_line: @5.first_line, + end_col: @5.first_column + } + }; + }} + | identifier '=>' expression + {{ + $$ = { + tag: 'function_definition', + parameters: [$1, [] ], + body: { tag: 'return_statement', expression: $3, + line: yylineno }, + line: yylineno, + location: { + start_line: @1.first_line, + start_col: @1.first_column, + end_line: @5.first_line, + end_col: @5.first_column + } + }; + }} | expression '[' expression ']' {{ @@ -515,7 +563,7 @@ expression | identifier {{ $$ = { - tag: 'variable', + tag: 'name', name: $1, line: yylineno }; @@ -534,7 +582,7 @@ expression | '[' expressions ']' {{ $$ = { - tag: 'arrayinit', + tag: 'array_expression', elements: $2, line: yylineno }; @@ -542,7 +590,7 @@ expression | '{' pairs '}' {{ $$ = { - tag: 'object', + tag: 'object_expression', pairs: $2, line: yylineno }; @@ -553,7 +601,7 @@ expression $$ = { tag: 'application', operator: { - tag: 'variable', + tag: 'name', name: $1, line: yylineno }, @@ -562,49 +610,10 @@ expression }; }} - | expression '.' identifier '(' expressions ')' - {{ - $$ = { - tag: 'object_method_application', - object: $1, - property: $3, - operands: $5, - line: yylineno - }; - }} - - - | new identifier '(' expressions ')' - {{ - $$ = { - tag: 'construction', - type: $2, - operands: $4, - line: yylineno - }; - }} - - | 'function' '(' identifiers ')' '{' statements '}' - {{ - $$ = { - tag: 'function_definition', - name: 'lambda', - parameters: $3, - body: $6, - line: yylineno, - location: { - start_line: @1.first_line, - start_col: @1.first_column, - end_line: @7.first_line, - end_col: @7.first_column - } - }; - }} - | expression '?' expression ':' expression {{ $$ = { - tag: 'ternary', + tag: 'conditional_expression', predicate: $1, consequent: $3, alternative: $5, @@ -627,6 +636,12 @@ constants | 'false' { $$ = false; } + | 'NaN' + { $$ = NaN; } + + | 'Infinity' + { $$ = Infinity; } + | quotedstring | 'emptylist' diff --git a/src/stdlib/metacircular-interpreter/lib/interpreter/parser.jison.tpl b/src/stdlib/metacircular-interpreter/lib/interpreter/parser.jison.tpl index ac853f16c..15da21a2b 100644 --- a/src/stdlib/metacircular-interpreter/lib/interpreter/parser.jison.tpl +++ b/src/stdlib/metacircular-interpreter/lib/interpreter/parser.jison.tpl @@ -19,20 +19,21 @@ "else" return 'else' "while" return 'while' "for" return 'for' -"case" return 'case' -"default" return 'default' -"new" return 'new' "break" return 'break' "continue" return 'continue' -"var" return 'var' +"let" return 'let' +"const" return 'const' "===" return '===' +"=>" return '=>' "=" return '=' "{" return '{' "}" return '}' ";" return ';' "," return ',' -"tru" return 'true' +"true" return 'true' "false" return 'false' +"NaN" return 'NaN' +"Infinity" return 'Infinity' "[]" return 'emptylist' "[" return '[' "]" return ']' @@ -82,6 +83,7 @@ %left ';' %right '=' +%left '=>' ARROW %right '?' ':' %left '||' %left '&&' @@ -107,8 +109,6 @@ statements { $$ = []; } | statement statements { $$ = pair($1, $2); } - | '{' statements '}' - { $$ = $2; } ; statement @@ -123,11 +123,10 @@ statement | 'function' identifier '(' identifiers ')' '{' statements '}' {{ $$ = { - tag: 'var_definition', - variable: $2, + tag: 'constant_declaration', + name: $2, value: { tag: 'function_definition', - name: $2, parameters: $4, body: $7, line: yylineno, @@ -141,7 +140,15 @@ statement line: yylineno }; }} - | vardefinition + | constdeclaration + | letdeclaration + | '{' statements '}' + {{ + $$ = { + tag: 'block', + body: $2 + }; + }} {{if week|ormore>8}} | assignment ';' {{/if}} @@ -172,13 +179,26 @@ statement {{/if}} ; -vardefinition +letdeclaration + : + 'let' identifier '=' expression ';' + {{ + $$ = { + tag: 'variable_declaration', + name: $2, + value: $4, + line: yylineno + }; + }} + ; + +constdeclaration : - 'var' identifier '=' expression ';' + 'const' identifier '=' expression ';' {{ $$ = { - tag: 'var_definition', - variable: $2, + tag: 'constant_declaration', + name: $2, value: $4, line: yylineno }; @@ -190,10 +210,10 @@ assignment : expression '=' expression {{ - if ($1.tag === 'variable') { + if ($1.tag === 'name') { $$$ = { tag: 'assignment', - variable: $1, + name: $1, value: $3, line: yylineno }; @@ -218,19 +238,19 @@ ifstatement 'if' '(' expression ')' '{' statements '}' 'else' '{' statements '}' {{ $$ = { - tag: 'if', + tag: 'conditional_statement', predicate: $3, - consequent: $6, - alternative: $10, + consequent: { tag: 'block', body: $6 }, + alternative: { tag: 'block', body: $10 }, line: yylineno }; }} | 'if' '(' expression ')' '{' statements '}' 'else' ifstatement {{ $$ = { - tag: 'if', + tag: 'conditional_statement', predicate: $3, - consequent: $6, + consequent: { tag: 'block', body: $6 }, alternative: pair($9, []), line: yylineno }; @@ -243,9 +263,9 @@ whilestatement 'while' '(' expression ')' '{' statements '}' {{ $$$ = { - tag: 'while', + tag: 'while_loop', predicate: $3, - statements: $6, + statements: { tag: 'block', body: $6 }, line: yylineno }; }} @@ -256,11 +276,11 @@ forstatement 'for' '(' forinitialiser expression ';' forfinaliser ')' '{' statements '}' {{ $$$ = { - tag: 'for', + tag: 'for_loop', initialiser: $3, predicate: $4, finaliser: $6, - statements: $9, + statements: { tag: 'block', body: $9 }, line: yylineno }; }} @@ -268,17 +288,13 @@ forstatement forinitialiser : - expression ';' - | vardefinition + letdeclaration | assignment ';' - | ';' ; forfinaliser : assignment - | expression - | ; {{/if}} @@ -289,7 +305,7 @@ expression $$ = { tag: 'application', operator: { - tag: 'variable', + tag: 'name', name: $2, line: yylineno }, @@ -302,7 +318,7 @@ expression $$ = { tag: 'application', operator: { - tag: 'variable', + tag: 'name', name: $2, line: yylineno }, @@ -315,7 +331,7 @@ expression $$ = { tag: 'application', operator: { - tag: 'variable', + tag: 'name', name: $2, line: yylineno }, @@ -328,7 +344,7 @@ expression $$ = { tag: 'application', operator: { - tag: 'variable', + tag: 'name', name: $2, line: yylineno }, @@ -341,7 +357,7 @@ expression $$ = { tag: 'application', operator: { - tag: 'variable', + tag: 'name', name: $2, line: yylineno }, @@ -354,7 +370,7 @@ expression $$ = { tag: 'application', operator: { - tag: 'variable', + tag: 'name', name: $1, line: yylineno }, @@ -367,7 +383,7 @@ expression $$ = { tag: 'application', operator: { - tag: 'variable', + tag: 'name', name: $1, line: yylineno }, @@ -380,7 +396,7 @@ expression $$ = { tag: 'application', operator: { - tag: 'variable', + tag: 'name', name: $1, line: yylineno }, @@ -391,7 +407,7 @@ expression | expression '&&' expression {{ $$ = { - tag: 'boolean_op', + tag: 'boolean_operation', operator: $2, operands: [$1, [$3, []]], line: yylineno @@ -400,7 +416,7 @@ expression | expression '||' expression {{ $$ = { - tag: 'boolean_op', + tag: 'boolean_operation', operator: $2, operands: [$1, [$3, []]], line: yylineno @@ -411,7 +427,7 @@ expression $$ = { tag: 'application', operator: { - tag: 'variable', + tag: 'name', name: $2, line: yylineno }, @@ -424,7 +440,7 @@ expression $$ = { tag: 'application', operator: { - tag: 'variable', + tag: 'name', name: $2, line: yylineno }, @@ -437,7 +453,7 @@ expression $$ = { tag: 'application', operator: { - tag: 'variable', + tag: 'name', name: $2, line: yylineno }, @@ -450,7 +466,7 @@ expression $$ = { tag: 'application', operator: { - tag: 'variable', + tag: 'name', name: $2, line: yylineno }, @@ -463,7 +479,7 @@ expression $$ = { tag: 'application', operator: { - tag: 'variable', + tag: 'name', name: $2, line: yylineno }, @@ -476,7 +492,7 @@ expression $$ = { tag: 'application', operator: { - tag: 'variable', + tag: 'name', name: $2, line: yylineno }, @@ -484,6 +500,38 @@ expression line: yylineno }; }} + | '(' identifiers ')' '=>' expression %prec ARROW + {{ + $$ = { + tag: 'function_definition', + parameters: $2, + body: { tag: 'return_statement', expression: $5, + line: yylineno }, + line: yylineno, + location: { + start_line: @1.first_line, + start_col: @1.first_column, + end_line: @5.first_line, + end_col: @5.first_column + } + }; + }} + | identifier '=>' expression + {{ + $$ = { + tag: 'function_definition', + parameters: [$1, [] ], + body: { tag: 'return_statement', expression: $3, + line: yylineno }, + line: yylineno, + location: { + start_line: @1.first_line, + start_col: @1.first_column, + end_line: @5.first_line, + end_col: @5.first_column + } + }; + }} {{if week|ormore>10}} | expression '[' expression ']' {{ @@ -515,7 +563,7 @@ expression | identifier {{ $$ = { - tag: 'variable', + tag: 'name', name: $1, line: yylineno }; @@ -534,7 +582,7 @@ expression | '[' expressions ']' {{ $$$ = { - tag: 'arrayinit', + tag: 'array_expression', elements: $2, line: yylineno }; @@ -542,7 +590,7 @@ expression | '{' pairs '}' {{ $$$ = { - tag: 'object', + tag: 'object_expression', pairs: $2, line: yylineno }; @@ -553,7 +601,7 @@ expression $$ = { tag: 'application', operator: { - tag: 'variable', + tag: 'name', name: $1, line: yylineno }, @@ -561,50 +609,11 @@ expression line: yylineno }; }} -{{if week|ormore>4}} - | expression '.' identifier '(' expressions ')' - {{ - $$$ = { - tag: 'object_method_application', - object: $1, - property: $3, - operands: $5, - line: yylineno - }; - }} -{{/if}} -{{if week|ormore>10}} - | new identifier '(' expressions ')' - {{ - $$$ = { - tag: 'construction', - type: $2, - operands: $4, - line: yylineno - }; - }} -{{/if}} - | 'function' '(' identifiers ')' '{' statements '}' - {{ - $$ = { - tag: 'function_definition', - name: 'lambda', - parameters: $3, - body: $6, - line: yylineno, - location: { - start_line: @1.first_line, - start_col: @1.first_column, - end_line: @7.first_line, - end_col: @7.first_column - } - }; - }} | expression '?' expression ':' expression {{ $$ = { - tag: 'ternary', + tag: 'conditional_expression', predicate: $1, consequent: $3, alternative: $5, @@ -627,6 +636,12 @@ constants | 'false' { $$ = false; } + | 'NaN' + { $$ = NaN; } + + | 'Infinity' + { $$ = Infinity; } + | quotedstring | 'emptylist' diff --git a/src/stdlib/metacircular-interpreter/lib/interpreter/parser.js b/src/stdlib/metacircular-interpreter/lib/interpreter/parser.js index 44104c5ed..5e2b82151 100644 --- a/src/stdlib/metacircular-interpreter/lib/interpreter/parser.js +++ b/src/stdlib/metacircular-interpreter/lib/interpreter/parser.js @@ -72,12 +72,12 @@ } */ 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,2],$V1=[1,3],$V2=[1,5],$V3=[1,9],$V4=[1,23],$V5=[1,13],$V6=[1,14],$V7=[1,15],$V8=[1,19],$V9=[1,16],$Va=[1,17],$Vb=[1,18],$Vc=[1,21],$Vd=[1,20],$Ve=[1,22],$Vf=[1,26],$Vg=[1,27],$Vh=[1,28],$Vi=[1,29],$Vj=[1,30],$Vk=[1,31],$Vl=[1,33],$Vm=[1,35],$Vn=[1,36],$Vo=[1,37],$Vp=[1,34],$Vq=[5,9],$Vr=[5,6,8,9,13,15,21,22,23,24,26,28,29,32,33,37,46,52,55,56,57,58,60,61,62,63,69],$Vs=[1,46],$Vt=[1,49],$Vu=[1,50],$Vv=[1,51],$Vw=[1,52],$Vx=[1,53],$Vy=[1,54],$Vz=[1,55],$VA=[1,56],$VB=[1,57],$VC=[1,58],$VD=[1,59],$VE=[1,60],$VF=[1,61],$VG=[1,62],$VH=[1,63],$VI=[1,64],$VJ=[1,65],$VK=[1,67],$VL=[1,68],$VM=[6,9,17,25,32,33,34,35,36,38,39,40,41,42,43,44,45,46,47,48,53,54,65],$VN=[2,49],$VO=[1,79],$VP=[2,70],$VQ=[1,89],$VR=[2,79],$VS=[6,9,17,25,32,33,34,35,36,38,39,40,41,42,43,44,45,47,53,54,65],$VT=[17,47],$VU=[6,9,17,25,32,33,38,39,40,41,42,43,44,45,47,53,54,65],$VV=[6,9,17,25,38,39,40,41,47,53,54,65],$VW=[6,9,17,25,38,39,40,41,42,43,44,45,47,53,54,65],$VX=[8,13,15,32,33,37,46,52,55,56,57,58,60,61,62,63,69]; +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[2,2],$V1=[1,3],$V2=[1,8],$V3=[1,25],$V4=[1,11],$V5=[1,14],$V6=[1,15],$V7=[1,16],$V8=[1,21],$V9=[1,20],$Va=[1,17],$Vb=[1,18],$Vc=[1,19],$Vd=[1,23],$Ve=[1,22],$Vf=[1,24],$Vg=[1,28],$Vh=[1,30],$Vi=[1,31],$Vj=[1,32],$Vk=[1,33],$Vl=[1,34],$Vm=[1,35],$Vn=[1,37],$Vo=[1,38],$Vp=[1,39],$Vq=[1,40],$Vr=[1,29],$Vs=[5,17],$Vt=[5,6,11,13,16,17,22,23,24,25,27,28,30,31,34,35,39,49,57,58,59,60,61,62,64,65,66,67,73],$Vu=[1,51],$Vv=[1,52],$Vw=[1,53],$Vx=[1,54],$Vy=[1,55],$Vz=[1,56],$VA=[1,57],$VB=[1,58],$VC=[1,59],$VD=[1,60],$VE=[1,61],$VF=[1,62],$VG=[1,63],$VH=[1,64],$VI=[1,65],$VJ=[1,66],$VK=[1,67],$VL=[1,69],$VM=[2,78],$VN=[6,15,17,26,34,35,36,37,38,40,41,42,43,44,45,46,47,49,50,51,55,56,69],$VO=[2,49],$VP=[1,85],$VQ=[1,84],$VR=[2,69],$VS=[1,95],$VT=[6,15,17,26,34,35,36,37,38,40,41,42,43,44,45,46,47,50,55,56,69],$VU=[1,125],$VV=[15,50],$VW=[6,15,17,26,34,35,40,41,42,43,44,45,46,47,50,55,56,69],$VX=[6,15,17,26,40,41,42,43,50,55,56,69],$VY=[6,15,17,26,40,41,42,43,44,45,46,47,50,55,56,69],$VZ=[13,16,34,35,39,49,57,58,59,60,61,62,64,65,66,67,73],$V_=[6,15,17,26,50,56,69]; var parser = {trace: function trace() { }, yy: {}, -symbols_: {"error":2,"program":3,"statements":4,"EOF":5,";":6,"statement":7,"{":8,"}":9,"ifstatement":10,"whilestatement":11,"forstatement":12,"function":13,"identifier":14,"(":15,"identifiers":16,")":17,"vardefinition":18,"assignment":19,"expression":20,"return":21,"break":22,"continue":23,"var":24,"=":25,"if":26,"else":27,"while":28,"for":29,"forinitialiser":30,"forfinaliser":31,"+":32,"-":33,"*":34,"/":35,"%":36,"!":37,"&&":38,"||":39,"===":40,"!==":41,">":42,"<":43,">=":44,"<=":45,"[":46,"]":47,".":48,"constants":49,"expressions":50,"pairs":51,"new":52,"?":53,":":54,"FLOAT_NUMBER":55,"INT_NUMBER":56,"true":57,"false":58,"quotedstring":59,"emptylist":60,"EmptyString":61,"QuotedString":62,"QuotedStringEscape":63,"nonemptyexpressions":64,",":65,"nonemptypairs":66,"pair":67,"nonemptyidentifiers":68,"Identifier":69,"$accept":0,"$end":1}, -terminals_: {2:"error",5:"EOF",6:";",8:"{",9:"}",13:"function",15:"(",17:")",21:"return",22:"break",23:"continue",24:"var",25:"=",26:"if",27:"else",28:"while",29:"for",32:"+",33:"-",34:"*",35:"/",36:"%",37:"!",38:"&&",39:"||",40:"===",41:"!==",42:">",43:"<",44:">=",45:"<=",46:"[",47:"]",48:".",52:"new",53:"?",54:":",55:"FLOAT_NUMBER",56:"INT_NUMBER",57:"true",58:"false",60:"emptylist",61:"EmptyString",62:"QuotedString",63:"QuotedStringEscape",65:",",69:"Identifier"}, -productions_: [0,[3,2],[4,0],[4,1],[4,2],[4,3],[7,1],[7,1],[7,1],[7,8],[7,1],[7,2],[7,2],[7,3],[7,2],[7,2],[18,5],[19,3],[10,11],[10,9],[11,7],[12,10],[30,2],[30,1],[30,2],[30,1],[31,1],[31,1],[31,0],[20,3],[20,3],[20,3],[20,3],[20,3],[20,2],[20,2],[20,2],[20,3],[20,3],[20,3],[20,3],[20,3],[20,3],[20,3],[20,3],[20,4],[20,3],[20,3],[20,1],[20,1],[20,6],[20,3],[20,3],[20,4],[20,6],[20,5],[20,7],[20,5],[49,1],[49,1],[49,1],[49,1],[49,1],[49,1],[59,1],[59,1],[59,1],[59,2],[59,2],[50,1],[50,0],[64,3],[64,1],[51,1],[51,0],[66,3],[66,1],[67,3],[16,1],[16,0],[68,3],[68,1],[14,1]], +symbols_: {"error":2,"program":3,"statements":4,"EOF":5,";":6,"statement":7,"ifstatement":8,"whilestatement":9,"forstatement":10,"function":11,"identifier":12,"(":13,"identifiers":14,")":15,"{":16,"}":17,"constdeclaration":18,"letdeclaration":19,"assignment":20,"expression":21,"return":22,"break":23,"continue":24,"let":25,"=":26,"const":27,"if":28,"else":29,"while":30,"for":31,"forinitialiser":32,"forfinaliser":33,"+":34,"-":35,"*":36,"/":37,"%":38,"!":39,"&&":40,"||":41,"===":42,"!==":43,">":44,"<":45,">=":46,"<=":47,"=>":48,"[":49,"]":50,".":51,"constants":52,"expressions":53,"pairs":54,"?":55,":":56,"FLOAT_NUMBER":57,"INT_NUMBER":58,"true":59,"false":60,"NaN":61,"Infinity":62,"quotedstring":63,"emptylist":64,"EmptyString":65,"QuotedString":66,"QuotedStringEscape":67,"nonemptyexpressions":68,",":69,"nonemptypairs":70,"pair":71,"nonemptyidentifiers":72,"Identifier":73,"$accept":0,"$end":1}, +terminals_: {2:"error",5:"EOF",6:";",11:"function",13:"(",15:")",16:"{",17:"}",22:"return",23:"break",24:"continue",25:"let",26:"=",27:"const",28:"if",29:"else",30:"while",31:"for",34:"+",35:"-",36:"*",37:"/",38:"%",39:"!",40:"&&",41:"||",42:"===",43:"!==",44:">",45:"<",46:">=",47:"<=",48:"=>",49:"[",50:"]",51:".",55:"?",56:":",57:"FLOAT_NUMBER",58:"INT_NUMBER",59:"true",60:"false",61:"NaN",62:"Infinity",64:"emptylist",65:"EmptyString",66:"QuotedString",67:"QuotedStringEscape",69:",",73:"Identifier"}, +productions_: [0,[3,2],[4,0],[4,1],[4,2],[7,1],[7,1],[7,1],[7,8],[7,1],[7,1],[7,3],[7,2],[7,2],[7,3],[7,2],[7,2],[19,5],[18,5],[20,3],[8,11],[8,9],[9,7],[10,10],[32,1],[32,2],[33,1],[21,3],[21,3],[21,3],[21,3],[21,3],[21,2],[21,2],[21,2],[21,3],[21,3],[21,3],[21,3],[21,3],[21,3],[21,3],[21,3],[21,5],[21,3],[21,4],[21,3],[21,3],[21,1],[21,1],[21,6],[21,3],[21,3],[21,4],[21,5],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[63,1],[63,1],[63,1],[63,2],[63,2],[53,1],[53,0],[68,3],[68,1],[54,1],[54,0],[70,3],[70,1],[71,3],[14,1],[14,0],[72,3],[72,1],[12,1]], performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { /* this == yyval */ @@ -86,23 +86,19 @@ switch (yystate) { case 1: return $$[$0-1]; break; -case 2: case 3: case 70: case 74: case 79: +case 2: case 3: case 69: case 73: case 78: this.$ = []; break; case 4: this.$ = pair($$[$0-1], $$[$0]); break; -case 5: - this.$ = $$[$0-1]; -break; -case 9: +case 8: this.$ = { - tag: 'var_definition', - variable: $$[$0-6], + tag: 'constant_declaration', + name: $$[$0-6], value: { tag: 'function_definition', - name: $$[$0-6], parameters: $$[$0-4], body: $$[$0-1], line: yylineno, @@ -117,7 +113,15 @@ case 9: }; break; -case 13: +case 11: + + this.$ = { + tag: 'block', + body: $$[$0-1] + }; + +break; +case 14: this.$ = { tag: 'return_statement', @@ -126,7 +130,7 @@ case 13: }; break; -case 14: +case 15: this.$ = { tag: 'break_statement', @@ -134,7 +138,7 @@ case 14: }; break; -case 15: +case 16: this.$ = { tag: 'continue_statement', @@ -142,22 +146,32 @@ case 15: }; break; -case 16: +case 17: this.$ = { - tag: 'var_definition', - variable: $$[$0-3], + tag: 'variable_declaration', + name: $$[$0-3], value: $$[$0-1], line: yylineno }; break; -case 17: +case 18: - if ($$[$0-2].tag === 'variable') { + this.$ = { + tag: 'constant_declaration', + name: $$[$0-3], + value: $$[$0-1], + line: yylineno + }; + +break; +case 19: + + if ($$[$0-2].tag === 'name') { this.$ = { tag: 'assignment', - variable: $$[$0-2], + name: $$[$0-2], value: $$[$0], line: yylineno }; @@ -176,56 +190,56 @@ case 17: } break; -case 18: +case 20: this.$ = { - tag: 'if', + tag: 'conditional_statement', predicate: $$[$0-8], - consequent: $$[$0-5], - alternative: $$[$0-1], + consequent: { tag: 'block', body: $$[$0-5] }, + alternative: { tag: 'block', body: $$[$0-1] }, line: yylineno }; break; -case 19: +case 21: this.$ = { - tag: 'if', + tag: 'conditional_statement', predicate: $$[$0-6], - consequent: $$[$0-3], + consequent: { tag: 'block', body: $$[$0-3] }, alternative: pair($$[$0], []), line: yylineno }; break; -case 20: +case 22: this.$ = { - tag: 'while', + tag: 'while_loop', predicate: $$[$0-4], - statements: $$[$0-1], + statements: { tag: 'block', body: $$[$0-1] }, line: yylineno }; break; -case 21: +case 23: this.$ = { - tag: 'for', + tag: 'for_loop', initialiser: $$[$0-7], predicate: $$[$0-6], finaliser: $$[$0-4], - statements: $$[$0-1], + statements: { tag: 'block', body: $$[$0-1] }, line: yylineno }; break; -case 29: case 30: case 31: case 32: case 33: case 39: case 40: case 41: case 42: case 43: case 44: +case 27: case 28: case 29: case 30: case 31: case 37: case 38: case 39: case 40: case 41: case 42: this.$ = { tag: 'application', operator: { - tag: 'variable', + tag: 'name', name: $$[$0-1], line: yylineno }, @@ -234,12 +248,12 @@ case 29: case 30: case 31: case 32: case 33: case 39: case 40: case 41: case 42: }; break; -case 34: case 35: +case 32: case 33: this.$ = { tag: 'application', operator: { - tag: 'variable', + tag: 'name', name: $$[$0-1], line: yylineno }, @@ -248,12 +262,12 @@ case 34: case 35: }; break; -case 36: +case 34: this.$ = { tag: 'application', operator: { - tag: 'variable', + tag: 'name', name: $$[$0-1], line: yylineno }, @@ -262,15 +276,49 @@ case 36: }; break; -case 37: case 38: +case 35: case 36: this.$ = { - tag: 'boolean_op', + tag: 'boolean_operation', operator: $$[$0-1], operands: [$$[$0-2], [$$[$0], []]], line: yylineno }; +break; +case 43: + + this.$ = { + tag: 'function_definition', + parameters: $$[$0-3], + body: { tag: 'return_statement', expression: $$[$0], + line: yylineno }, + line: yylineno, + location: { + start_line: _$[$0-4].first_line, + start_col: _$[$0-4].first_column, + end_line: _$[$0].first_line, + end_col: _$[$0].first_column + } + }; + +break; +case 44: + + this.$ = { + tag: 'function_definition', + parameters: [$$[$0-2], [] ], + body: { tag: 'return_statement', expression: $$[$0], + line: yylineno }, + line: yylineno, + location: { + start_line: _$[$0-2].first_line, + start_col: _$[$0-2].first_column, + end_line: _$[$02].first_line, + end_col: _$[$02].first_column + } + }; + break; case 45: @@ -298,7 +346,7 @@ break; case 49: this.$ = { - tag: 'variable', + tag: 'name', name: $$[$0], line: yylineno }; @@ -317,7 +365,7 @@ break; case 51: this.$ = { - tag: 'arrayinit', + tag: 'array_expression', elements: $$[$0-1], line: yylineno }; @@ -326,7 +374,7 @@ break; case 52: this.$ = { - tag: 'object', + tag: 'object_expression', pairs: $$[$0-1], line: yylineno }; @@ -337,7 +385,7 @@ case 53: this.$ = { tag: 'application', operator: { - tag: 'variable', + tag: 'name', name: $$[$0-3], line: yylineno }, @@ -349,73 +397,41 @@ break; case 54: this.$ = { - tag: 'object_method_application', - object: $$[$0-5], - property: $$[$0-3], - operands: $$[$0-1], + tag: 'conditional_expression', + predicate: $$[$0-4], + consequent: $$[$0-2], + alternative: $$[$0], line: yylineno }; break; case 55: - - this.$ = { - tag: 'construction', - type: $$[$0-3], - operands: $$[$0-1], - line: yylineno - }; - + this.$ = parseFloat(yytext); break; case 56: - - this.$ = { - tag: 'function_definition', - name: 'lambda', - parameters: $$[$0-4], - body: $$[$0-1], - line: yylineno, - location: { - start_line: _$[$0-6].first_line, - start_col: _$[$0-6].first_column, - end_line: _$[$0].first_line, - end_col: _$[$0].first_column - } - }; - + this.$ = parseInt(yytext, 10); break; case 57: - - this.$ = { - tag: 'ternary', - predicate: $$[$0-4], - consequent: $$[$0-2], - alternative: $$[$0], - line: yylineno - }; - + this.$ = true; break; case 58: - this.$ = parseFloat(yytext); + this.$ = false; break; case 59: - this.$ = parseInt(yytext, 10); + this.$ = NaN; break; case 60: - this.$ = true; -break; -case 61: - this.$ = false; + this.$ = Infinity; break; -case 63: +case 62: this.$ = { tag: 'empty_list', line: yylineno }; break; -case 64: +case 63: this.$ = ''; break; -case 66: +case 65: switch (yytext) { @@ -432,7 +448,7 @@ case 66: } break; -case 67: +case 66: switch ($$[$0-1]) { @@ -450,27 +466,27 @@ case 67: this.$ += $$[$0]; break; -case 68: +case 67: this.$ = $$[$0-1] + $$[$0]; break; -case 69: case 73: case 78: +case 68: case 72: case 77: this.$ = $$[$0]; break; -case 71: case 75: case 77: case 80: +case 70: case 74: case 76: case 79: this.$ = [ $$[$0-2], $$[$0] ]; break; -case 72: case 76: case 81: +case 71: case 75: case 80: this.$ = [ $$[$0], [] ]; break; -case 82: +case 81: this.$ = yytext; break; } }, -table: [{3:1,4:2,5:$V0,6:$V1,7:4,8:$V2,10:6,11:7,12:8,13:$V3,14:25,15:$V4,18:10,19:11,20:12,21:$V5,22:$V6,23:$V7,24:$V8,26:$V9,28:$Va,29:$Vb,32:$Vc,33:$Vd,37:$Ve,46:$Vf,49:24,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,59:32,60:$Vl,61:$Vm,62:$Vn,63:$Vo,69:$Vp},{1:[3]},{5:[1,38]},o($Vq,[2,3]),o($Vq,$V0,{7:4,10:6,11:7,12:8,18:10,19:11,20:12,49:24,14:25,59:32,4:39,6:$V1,8:$V2,13:$V3,15:$V4,21:$V5,22:$V6,23:$V7,24:$V8,26:$V9,28:$Va,29:$Vb,32:$Vc,33:$Vd,37:$Ve,46:$Vf,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,60:$Vl,61:$Vm,62:$Vn,63:$Vo,69:$Vp}),{4:40,6:$V1,7:4,8:$V2,9:$V0,10:6,11:7,12:8,13:$V3,14:44,15:$V4,18:10,19:11,20:12,21:$V5,22:$V6,23:$V7,24:$V8,26:$V9,28:$Va,29:$Vb,32:$Vc,33:$Vd,37:$Ve,46:$Vf,49:24,51:41,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,59:32,60:$Vl,61:$Vm,62:$Vn,63:$Vo,66:42,67:43,69:$Vp},o($Vr,[2,6]),o($Vr,[2,7]),o($Vr,[2,8]),{14:45,15:$Vs,69:$Vp},o($Vr,[2,10]),{6:[1,47]},{6:[1,48],25:$Vt,32:$Vu,33:$Vv,34:$Vw,35:$Vx,36:$Vy,38:$Vz,39:$VA,40:$VB,41:$VC,42:$VD,43:$VE,44:$VF,45:$VG,46:$VH,48:$VI,53:$VJ},{8:$VK,13:$VL,14:25,15:$V4,20:66,32:$Vc,33:$Vd,37:$Ve,46:$Vf,49:24,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,59:32,60:$Vl,61:$Vm,62:$Vn,63:$Vo,69:$Vp},{6:[1,69]},{6:[1,70]},{15:[1,71]},{15:[1,72]},{15:[1,73]},{14:74,69:$Vp},{8:$VK,13:$VL,14:25,15:$V4,20:75,32:$Vc,33:$Vd,37:$Ve,46:$Vf,49:24,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,59:32,60:$Vl,61:$Vm,62:$Vn,63:$Vo,69:$Vp},{8:$VK,13:$VL,14:25,15:$V4,20:76,32:$Vc,33:$Vd,37:$Ve,46:$Vf,49:24,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,59:32,60:$Vl,61:$Vm,62:$Vn,63:$Vo,69:$Vp},{8:$VK,13:$VL,14:25,15:$V4,20:77,32:$Vc,33:$Vd,37:$Ve,46:$Vf,49:24,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,59:32,60:$Vl,61:$Vm,62:$Vn,63:$Vo,69:$Vp},{8:$VK,13:$VL,14:25,15:$V4,20:78,32:$Vc,33:$Vd,37:$Ve,46:$Vf,49:24,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,59:32,60:$Vl,61:$Vm,62:$Vn,63:$Vo,69:$Vp},o($VM,[2,48]),o($VM,$VN,{15:$VO}),{8:$VK,13:$VL,14:25,15:$V4,20:82,32:$Vc,33:$Vd,37:$Ve,46:$Vf,47:$VP,49:24,50:80,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,59:32,60:$Vl,61:$Vm,62:$Vn,63:$Vo,64:81,69:$Vp},{14:83,69:$Vp},o($VM,[2,58]),o($VM,[2,59]),o($VM,[2,60]),o($VM,[2,61]),o($VM,[2,62]),o($VM,[2,63]),o([6,9,15,17,25,32,33,34,35,36,38,39,40,41,42,43,44,45,46,47,48,53,54,65],[2,82]),o($VM,[2,64]),o($VM,[2,65],{59:84,61:$Vm,62:$Vn,63:$Vo}),o($VM,[2,66],{59:85,61:$Vm,62:$Vn,63:$Vo}),{1:[2,1]},o($Vq,[2,4]),{9:[1,86]},{9:[1,87]},{9:[2,73]},{9:[2,76],65:[1,88]},o([6,25,32,33,34,35,36,38,39,40,41,42,43,44,45,46,48,53],$VN,{15:$VO,54:$VQ}),{15:[1,90]},{14:93,16:91,17:$VR,68:92,69:$Vp},o($Vr,[2,11]),o($Vr,[2,12]),{8:$VK,13:$VL,14:25,15:$V4,20:94,32:$Vc,33:$Vd,37:$Ve,46:$Vf,49:24,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,59:32,60:$Vl,61:$Vm,62:$Vn,63:$Vo,69:$Vp},{8:$VK,13:$VL,14:25,15:$V4,20:95,32:$Vc,33:$Vd,37:$Ve,46:$Vf,49:24,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,59:32,60:$Vl,61:$Vm,62:$Vn,63:$Vo,69:$Vp},{8:$VK,13:$VL,14:25,15:$V4,20:96,32:$Vc,33:$Vd,37:$Ve,46:$Vf,49:24,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,59:32,60:$Vl,61:$Vm,62:$Vn,63:$Vo,69:$Vp},{8:$VK,13:$VL,14:25,15:$V4,20:97,32:$Vc,33:$Vd,37:$Ve,46:$Vf,49:24,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,59:32,60:$Vl,61:$Vm,62:$Vn,63:$Vo,69:$Vp},{8:$VK,13:$VL,14:25,15:$V4,20:98,32:$Vc,33:$Vd,37:$Ve,46:$Vf,49:24,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,59:32,60:$Vl,61:$Vm,62:$Vn,63:$Vo,69:$Vp},{8:$VK,13:$VL,14:25,15:$V4,20:99,32:$Vc,33:$Vd,37:$Ve,46:$Vf,49:24,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,59:32,60:$Vl,61:$Vm,62:$Vn,63:$Vo,69:$Vp},{8:$VK,13:$VL,14:25,15:$V4,20:100,32:$Vc,33:$Vd,37:$Ve,46:$Vf,49:24,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,59:32,60:$Vl,61:$Vm,62:$Vn,63:$Vo,69:$Vp},{8:$VK,13:$VL,14:25,15:$V4,20:101,32:$Vc,33:$Vd,37:$Ve,46:$Vf,49:24,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,59:32,60:$Vl,61:$Vm,62:$Vn,63:$Vo,69:$Vp},{8:$VK,13:$VL,14:25,15:$V4,20:102,32:$Vc,33:$Vd,37:$Ve,46:$Vf,49:24,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,59:32,60:$Vl,61:$Vm,62:$Vn,63:$Vo,69:$Vp},{8:$VK,13:$VL,14:25,15:$V4,20:103,32:$Vc,33:$Vd,37:$Ve,46:$Vf,49:24,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,59:32,60:$Vl,61:$Vm,62:$Vn,63:$Vo,69:$Vp},{8:$VK,13:$VL,14:25,15:$V4,20:104,32:$Vc,33:$Vd,37:$Ve,46:$Vf,49:24,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,59:32,60:$Vl,61:$Vm,62:$Vn,63:$Vo,69:$Vp},{8:$VK,13:$VL,14:25,15:$V4,20:105,32:$Vc,33:$Vd,37:$Ve,46:$Vf,49:24,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,59:32,60:$Vl,61:$Vm,62:$Vn,63:$Vo,69:$Vp},{8:$VK,13:$VL,14:25,15:$V4,20:106,32:$Vc,33:$Vd,37:$Ve,46:$Vf,49:24,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,59:32,60:$Vl,61:$Vm,62:$Vn,63:$Vo,69:$Vp},{8:$VK,13:$VL,14:25,15:$V4,20:107,32:$Vc,33:$Vd,37:$Ve,46:$Vf,49:24,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,59:32,60:$Vl,61:$Vm,62:$Vn,63:$Vo,69:$Vp},{8:$VK,13:$VL,14:25,15:$V4,20:108,32:$Vc,33:$Vd,37:$Ve,46:$Vf,49:24,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,59:32,60:$Vl,61:$Vm,62:$Vn,63:$Vo,69:$Vp},{14:109,69:$Vp},{8:$VK,13:$VL,14:25,15:$V4,20:110,32:$Vc,33:$Vd,37:$Ve,46:$Vf,49:24,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,59:32,60:$Vl,61:$Vm,62:$Vn,63:$Vo,69:$Vp},{6:[1,111],32:$Vu,33:$Vv,34:$Vw,35:$Vx,36:$Vy,38:$Vz,39:$VA,40:$VB,41:$VC,42:$VD,43:$VE,44:$VF,45:$VG,46:$VH,48:$VI,53:$VJ},{9:[2,74],14:112,51:41,66:42,67:43,69:$Vp},{15:$Vs},o($Vr,[2,14]),o($Vr,[2,15]),{8:$VK,13:$VL,14:25,15:$V4,20:113,32:$Vc,33:$Vd,37:$Ve,46:$Vf,49:24,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,59:32,60:$Vl,61:$Vm,62:$Vn,63:$Vo,69:$Vp},{8:$VK,13:$VL,14:25,15:$V4,20:114,32:$Vc,33:$Vd,37:$Ve,46:$Vf,49:24,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,59:32,60:$Vl,61:$Vm,62:$Vn,63:$Vo,69:$Vp},{6:[1,119],8:$VK,13:$VL,14:25,15:$V4,18:117,19:118,20:116,24:$V8,30:115,32:$Vc,33:$Vd,37:$Ve,46:$Vf,49:24,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,59:32,60:$Vl,61:$Vm,62:$Vn,63:$Vo,69:$Vp},{25:[1,120]},o($VS,[2,34],{46:$VH,48:$VI}),o($VS,[2,35],{46:$VH,48:$VI}),o($VS,[2,36],{46:$VH,48:$VI}),{17:[1,121],32:$Vu,33:$Vv,34:$Vw,35:$Vx,36:$Vy,38:$Vz,39:$VA,40:$VB,41:$VC,42:$VD,43:$VE,44:$VF,45:$VG,46:$VH,48:$VI,53:$VJ},{8:$VK,13:$VL,14:25,15:$V4,17:$VP,20:82,32:$Vc,33:$Vd,37:$Ve,46:$Vf,49:24,50:122,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,59:32,60:$Vl,61:$Vm,62:$Vn,63:$Vo,64:81,69:$Vp},{47:[1,123]},o($VT,[2,69]),o($VT,[2,72],{32:$Vu,33:$Vv,34:$Vw,35:$Vx,36:$Vy,38:$Vz,39:$VA,40:$VB,41:$VC,42:$VD,43:$VE,44:$VF,45:$VG,46:$VH,48:$VI,53:$VJ,65:[1,124]}),{15:[1,125]},o($VM,[2,68]),o($VM,[2,67]),o($Vq,[2,5]),o($VM,[2,52]),{14:112,66:126,67:43,69:$Vp},{8:$VK,13:$VL,14:25,15:$V4,20:127,32:$Vc,33:$Vd,37:$Ve,46:$Vf,49:24,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,59:32,60:$Vl,61:$Vm,62:$Vn,63:$Vo,69:$Vp},{14:93,16:128,17:$VR,68:92,69:$Vp},{17:[1,129]},{17:[2,78]},{17:[2,81],65:[1,130]},o([6,17],[2,17],{32:$Vu,33:$Vv,34:$Vw,35:$Vx,36:$Vy,38:$Vz,39:$VA,40:$VB,41:$VC,42:$VD,43:$VE,44:$VF,45:$VG,46:$VH,48:$VI,53:$VJ}),o($VU,[2,29],{34:$Vw,35:$Vx,36:$Vy,46:$VH,48:$VI}),o($VU,[2,30],{34:$Vw,35:$Vx,36:$Vy,46:$VH,48:$VI}),o($VS,[2,31],{46:$VH,48:$VI}),o($VS,[2,32],{46:$VH,48:$VI}),o($VS,[2,33],{46:$VH,48:$VI}),o([6,9,17,25,38,39,47,53,54,65],[2,37],{32:$Vu,33:$Vv,34:$Vw,35:$Vx,36:$Vy,40:$VB,41:$VC,42:$VD,43:$VE,44:$VF,45:$VG,46:$VH,48:$VI}),o([6,9,17,25,39,47,53,54,65],[2,38],{32:$Vu,33:$Vv,34:$Vw,35:$Vx,36:$Vy,38:$Vz,40:$VB,41:$VC,42:$VD,43:$VE,44:$VF,45:$VG,46:$VH,48:$VI}),o($VV,[2,39],{32:$Vu,33:$Vv,34:$Vw,35:$Vx,36:$Vy,42:$VD,43:$VE,44:$VF,45:$VG,46:$VH,48:$VI}),o($VV,[2,40],{32:$Vu,33:$Vv,34:$Vw,35:$Vx,36:$Vy,42:$VD,43:$VE,44:$VF,45:$VG,46:$VH,48:$VI}),o($VW,[2,41],{32:$Vu,33:$Vv,34:$Vw,35:$Vx,36:$Vy,46:$VH,48:$VI}),o($VW,[2,42],{32:$Vu,33:$Vv,34:$Vw,35:$Vx,36:$Vy,46:$VH,48:$VI}),o($VW,[2,43],{32:$Vu,33:$Vv,34:$Vw,35:$Vx,36:$Vy,46:$VH,48:$VI}),o($VW,[2,44],{32:$Vu,33:$Vv,34:$Vw,35:$Vx,36:$Vy,46:$VH,48:$VI}),{32:$Vu,33:$Vv,34:$Vw,35:$Vx,36:$Vy,38:$Vz,39:$VA,40:$VB,41:$VC,42:$VD,43:$VE,44:$VF,45:$VG,46:$VH,47:[1,131],48:$VI,53:$VJ},o($VM,[2,46],{15:[1,132]}),{32:$Vu,33:$Vv,34:$Vw,35:$Vx,36:$Vy,38:$Vz,39:$VA,40:$VB,41:$VC,42:$VD,43:$VE,44:$VF,45:$VG,46:$VH,48:$VI,53:$VJ,54:[1,133]},o($Vr,[2,13]),{54:$VQ},{17:[1,134],32:$Vu,33:$Vv,34:$Vw,35:$Vx,36:$Vy,38:$Vz,39:$VA,40:$VB,41:$VC,42:$VD,43:$VE,44:$VF,45:$VG,46:$VH,48:$VI,53:$VJ},{17:[1,135],32:$Vu,33:$Vv,34:$Vw,35:$Vx,36:$Vy,38:$Vz,39:$VA,40:$VB,41:$VC,42:$VD,43:$VE,44:$VF,45:$VG,46:$VH,48:$VI,53:$VJ},{8:$VK,13:$VL,14:25,15:$V4,20:136,32:$Vc,33:$Vd,37:$Ve,46:$Vf,49:24,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,59:32,60:$Vl,61:$Vm,62:$Vn,63:$Vo,69:$Vp},{6:[1,137],25:$Vt,32:$Vu,33:$Vv,34:$Vw,35:$Vx,36:$Vy,38:$Vz,39:$VA,40:$VB,41:$VC,42:$VD,43:$VE,44:$VF,45:$VG,46:$VH,48:$VI,53:$VJ},o($VX,[2,23]),{6:[1,138]},o($VX,[2,25]),{8:$VK,13:$VL,14:25,15:$V4,20:139,32:$Vc,33:$Vd,37:$Ve,46:$Vf,49:24,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,59:32,60:$Vl,61:$Vm,62:$Vn,63:$Vo,69:$Vp},o($VM,[2,47],{15:[1,140]}),{17:[1,141]},o($VM,[2,51]),{8:$VK,13:$VL,14:25,15:$V4,20:82,32:$Vc,33:$Vd,37:$Ve,46:$Vf,49:24,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,59:32,60:$Vl,61:$Vm,62:$Vn,63:$Vo,64:142,69:$Vp},{8:$VK,13:$VL,14:25,15:$V4,17:$VP,20:82,32:$Vc,33:$Vd,37:$Ve,46:$Vf,49:24,50:143,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,59:32,60:$Vl,61:$Vm,62:$Vn,63:$Vo,64:81,69:$Vp},{9:[2,75]},o([9,65],[2,77],{32:$Vu,33:$Vv,34:$Vw,35:$Vx,36:$Vy,38:$Vz,39:$VA,40:$VB,41:$VC,42:$VD,43:$VE,44:$VF,45:$VG,46:$VH,48:$VI,53:$VJ}),{17:[1,144]},{8:[1,145]},{14:93,68:146,69:$Vp},o($VM,[2,45]),{8:$VK,13:$VL,14:25,15:$V4,17:$VP,20:82,32:$Vc,33:$Vd,37:$Ve,46:$Vf,49:24,50:147,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,59:32,60:$Vl,61:$Vm,62:$Vn,63:$Vo,64:81,69:$Vp},{8:$VK,13:$VL,14:25,15:$V4,20:148,32:$Vc,33:$Vd,37:$Ve,46:$Vf,49:24,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,59:32,60:$Vl,61:$Vm,62:$Vn,63:$Vo,69:$Vp},{8:[1,149]},{8:[1,150]},{6:[1,151],32:$Vu,33:$Vv,34:$Vw,35:$Vx,36:$Vy,38:$Vz,39:$VA,40:$VB,41:$VC,42:$VD,43:$VE,44:$VF,45:$VG,46:$VH,48:$VI,53:$VJ},o($VX,[2,22]),o($VX,[2,24]),{6:[1,152],32:$Vu,33:$Vv,34:$Vw,35:$Vx,36:$Vy,38:$Vz,39:$VA,40:$VB,41:$VC,42:$VD,43:$VE,44:$VF,45:$VG,46:$VH,48:$VI,53:$VJ},{8:$VK,13:$VL,14:25,15:$V4,17:$VP,20:82,32:$Vc,33:$Vd,37:$Ve,46:$Vf,49:24,50:153,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,59:32,60:$Vl,61:$Vm,62:$Vn,63:$Vo,64:81,69:$Vp},o($VM,[2,53]),o($VT,[2,71]),{17:[1,154]},{8:[1,155]},{4:156,6:$V1,7:4,8:$V2,9:$V0,10:6,11:7,12:8,13:$V3,14:25,15:$V4,18:10,19:11,20:12,21:$V5,22:$V6,23:$V7,24:$V8,26:$V9,28:$Va,29:$Vb,32:$Vc,33:$Vd,37:$Ve,46:$Vf,49:24,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,59:32,60:$Vl,61:$Vm,62:$Vn,63:$Vo,69:$Vp},{17:[2,80]},{17:[1,157]},o([6,9,17,25,47,54,65],[2,57],{32:$Vu,33:$Vv,34:$Vw,35:$Vx,36:$Vy,38:$Vz,39:$VA,40:$VB,41:$VC,42:$VD,43:$VE,44:$VF,45:$VG,46:$VH,48:$VI,53:$VJ}),{4:158,6:$V1,7:4,8:$V2,9:$V0,10:6,11:7,12:8,13:$V3,14:25,15:$V4,18:10,19:11,20:12,21:$V5,22:$V6,23:$V7,24:$V8,26:$V9,28:$Va,29:$Vb,32:$Vc,33:$Vd,37:$Ve,46:$Vf,49:24,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,59:32,60:$Vl,61:$Vm,62:$Vn,63:$Vo,69:$Vp},{4:159,6:$V1,7:4,8:$V2,9:$V0,10:6,11:7,12:8,13:$V3,14:25,15:$V4,18:10,19:11,20:12,21:$V5,22:$V6,23:$V7,24:$V8,26:$V9,28:$Va,29:$Vb,32:$Vc,33:$Vd,37:$Ve,46:$Vf,49:24,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,59:32,60:$Vl,61:$Vm,62:$Vn,63:$Vo,69:$Vp},{8:$VK,13:$VL,14:25,15:$V4,17:[2,28],19:161,20:162,31:160,32:$Vc,33:$Vd,37:$Ve,46:$Vf,49:24,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,59:32,60:$Vl,61:$Vm,62:$Vn,63:$Vo,69:$Vp},o($Vr,[2,16]),{17:[1,163]},o($VM,[2,55]),{4:164,6:$V1,7:4,8:$V2,9:$V0,10:6,11:7,12:8,13:$V3,14:25,15:$V4,18:10,19:11,20:12,21:$V5,22:$V6,23:$V7,24:$V8,26:$V9,28:$Va,29:$Vb,32:$Vc,33:$Vd,37:$Ve,46:$Vf,49:24,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,59:32,60:$Vl,61:$Vm,62:$Vn,63:$Vo,69:$Vp},{9:[1,165]},o($VM,[2,54]),{9:[1,166]},{9:[1,167]},{17:[1,168]},{17:[2,26]},{17:[2,27],25:$Vt,32:$Vu,33:$Vv,34:$Vw,35:$Vx,36:$Vy,38:$Vz,39:$VA,40:$VB,41:$VC,42:$VD,43:$VE,44:$VF,45:$VG,46:$VH,48:$VI,53:$VJ},o($VM,[2,50]),{9:[1,169]},o($VM,[2,56]),{27:[1,170]},o($Vr,[2,20]),{8:[1,171]},o($Vr,[2,9]),{8:[1,172],10:173,26:$V9},{4:174,6:$V1,7:4,8:$V2,9:$V0,10:6,11:7,12:8,13:$V3,14:25,15:$V4,18:10,19:11,20:12,21:$V5,22:$V6,23:$V7,24:$V8,26:$V9,28:$Va,29:$Vb,32:$Vc,33:$Vd,37:$Ve,46:$Vf,49:24,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,59:32,60:$Vl,61:$Vm,62:$Vn,63:$Vo,69:$Vp},{4:175,6:$V1,7:4,8:$V2,9:$V0,10:6,11:7,12:8,13:$V3,14:25,15:$V4,18:10,19:11,20:12,21:$V5,22:$V6,23:$V7,24:$V8,26:$V9,28:$Va,29:$Vb,32:$Vc,33:$Vd,37:$Ve,46:$Vf,49:24,52:$Vg,55:$Vh,56:$Vi,57:$Vj,58:$Vk,59:32,60:$Vl,61:$Vm,62:$Vn,63:$Vo,69:$Vp},o($Vr,[2,19]),{9:[1,176]},{9:[1,177]},o($Vr,[2,21]),o($Vr,[2,18])], -defaultActions: {38:[2,1],42:[2,73],92:[2,78],126:[2,75],146:[2,80],161:[2,26]}, +table: [{3:1,4:2,5:$V0,6:$V1,7:4,8:5,9:6,10:7,11:$V2,12:26,13:$V3,16:$V4,18:9,19:10,20:12,21:13,22:$V5,23:$V6,24:$V7,25:$V8,27:$V9,28:$Va,30:$Vb,31:$Vc,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{1:[3]},{5:[1,41]},o($Vs,[2,3]),o($Vs,$V0,{7:4,8:5,9:6,10:7,18:9,19:10,20:12,21:13,12:26,52:27,63:36,4:42,6:$V1,11:$V2,13:$V3,16:$V4,22:$V5,23:$V6,24:$V7,25:$V8,27:$V9,28:$Va,30:$Vb,31:$Vc,34:$Vd,35:$Ve,39:$Vf,49:$Vg,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr}),o($Vt,[2,5]),o($Vt,[2,6]),o($Vt,[2,7]),{12:43,73:$Vr},o($Vt,[2,9]),o($Vt,[2,10]),{4:44,6:$V1,7:4,8:5,9:6,10:7,11:$V2,12:48,13:$V3,16:$V4,17:$V0,18:9,19:10,20:12,21:13,22:$V5,23:$V6,24:$V7,25:$V8,27:$V9,28:$Va,30:$Vb,31:$Vc,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,54:45,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,70:46,71:47,73:$Vr},{6:[1,49]},{6:[1,50],26:$Vu,34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK},{12:26,13:$V3,16:$VL,21:68,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{6:[1,70]},{6:[1,71]},{13:[1,72]},{13:[1,73]},{13:[1,74]},{12:75,73:$Vr},{12:76,73:$Vr},{12:26,13:$V3,16:$VL,21:77,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,16:$VL,21:78,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,16:$VL,21:79,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:83,13:$V3,14:80,15:$VM,16:$VL,21:81,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,72:82,73:$Vr},o($VN,$VO,{13:$VP,48:$VQ}),o($VN,[2,48]),{12:26,13:$V3,16:$VL,21:88,34:$Vd,35:$Ve,39:$Vf,49:$Vg,50:$VR,52:27,53:86,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,68:87,73:$Vr},o([6,13,15,17,26,34,35,36,37,38,40,41,42,43,44,45,46,47,48,49,50,51,55,56,69],[2,81]),o($VN,[2,55]),o($VN,[2,56]),o($VN,[2,57]),o($VN,[2,58]),o($VN,[2,59]),o($VN,[2,60]),o($VN,[2,61]),o($VN,[2,62]),o($VN,[2,63]),o($VN,[2,64],{63:89,65:$Vo,66:$Vp,67:$Vq}),o($VN,[2,65],{63:90,65:$Vo,66:$Vp,67:$Vq}),{1:[2,1]},o($Vs,[2,4]),{13:[1,91]},{17:[1,92]},{17:[1,93]},{17:[2,72]},{17:[2,75],69:[1,94]},o([6,26,34,35,36,37,38,40,41,42,43,44,45,46,47,49,51,55],$VO,{13:$VP,48:$VQ,56:$VS}),o($Vt,[2,12]),o($Vt,[2,13]),{12:26,13:$V3,16:$VL,21:96,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,16:$VL,21:97,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,16:$VL,21:98,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,16:$VL,21:99,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,16:$VL,21:100,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,16:$VL,21:101,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,16:$VL,21:102,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,16:$VL,21:103,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,16:$VL,21:104,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,16:$VL,21:105,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,16:$VL,21:106,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,16:$VL,21:107,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,16:$VL,21:108,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,16:$VL,21:109,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,16:$VL,21:110,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:111,73:$Vr},{12:26,13:$V3,16:$VL,21:112,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{6:[1,113],34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK},{12:114,17:[2,73],54:45,70:46,71:47,73:$Vr},o($Vt,[2,15]),o($Vt,[2,16]),{12:26,13:$V3,16:$VL,21:115,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,16:$VL,21:116,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,16:$VL,19:118,20:119,21:120,25:$V8,32:117,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{26:[1,121]},{26:[1,122]},o($VT,[2,32],{49:$VI,51:$VJ}),o($VT,[2,33],{49:$VI,51:$VJ}),o($VT,[2,34],{49:$VI,51:$VJ}),{15:[1,123]},{15:[1,124],34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK},{15:[2,77]},o([15,34,35,36,37,38,40,41,42,43,44,45,46,47,49,51,55],$VO,{13:$VP,48:$VQ,69:$VU}),{12:26,13:$V3,16:$VL,21:126,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,15:$VR,16:$VL,21:88,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,53:127,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,68:87,73:$Vr},{50:[1,128]},o($VV,[2,68]),o($VV,[2,71],{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK,69:[1,129]}),o($VN,[2,67]),o($VN,[2,66]),{12:131,14:130,15:$VM,72:82,73:$Vr},o($Vt,[2,11]),o($VN,[2,52]),{12:114,70:132,71:47,73:$Vr},{12:26,13:$V3,16:$VL,21:133,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},o([6,15],[2,19],{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK}),o($VW,[2,27],{36:$Vx,37:$Vy,38:$Vz,49:$VI,51:$VJ}),o($VW,[2,28],{36:$Vx,37:$Vy,38:$Vz,49:$VI,51:$VJ}),o($VT,[2,29],{49:$VI,51:$VJ}),o($VT,[2,30],{49:$VI,51:$VJ}),o($VT,[2,31],{49:$VI,51:$VJ}),o([6,15,17,26,40,41,50,55,56,69],[2,35],{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ}),o([6,15,17,26,41,50,55,56,69],[2,36],{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ}),o($VX,[2,37],{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ}),o($VX,[2,38],{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ}),o($VY,[2,39],{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,49:$VI,51:$VJ}),o($VY,[2,40],{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,49:$VI,51:$VJ}),o($VY,[2,41],{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,49:$VI,51:$VJ}),o($VY,[2,42],{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,49:$VI,51:$VJ}),{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,50:[1,134],51:$VJ,55:$VK},o($VN,[2,46]),{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK,56:[1,135]},o($Vt,[2,14]),{56:$VS},{15:[1,136],34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK},{15:[1,137],34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK},{12:26,13:$V3,16:$VL,21:138,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},o($VZ,[2,24]),{6:[1,139]},{26:$Vu,34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK},{12:26,13:$V3,16:$VL,21:140,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,16:$VL,21:141,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{48:[1,142]},o($VN,[2,47],{13:[1,143]}),{12:131,72:144,73:$Vr},o($V_,[2,44],{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK}),{15:[1,145]},o($VN,[2,51]),{12:26,13:$V3,16:$VL,21:88,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,68:146,73:$Vr},{15:[1,147]},{15:[2,80],69:$VU},{17:[2,74]},o([17,69],[2,76],{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK}),o($VN,[2,45]),{12:26,13:$V3,16:$VL,21:148,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{16:[1,149]},{16:[1,150]},{6:[1,151],34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK},o($VZ,[2,25]),{6:[1,152],34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK},{6:[1,153],34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK},{12:26,13:$V3,16:$VL,21:154,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,15:$VR,16:$VL,21:88,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,53:155,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,68:87,73:$Vr},{15:[2,79]},o($VN,[2,53]),o($VV,[2,70]),{16:[1,156]},o($V_,[2,54],{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK}),{4:157,6:$V1,7:4,8:5,9:6,10:7,11:$V2,12:26,13:$V3,16:$V4,17:$V0,18:9,19:10,20:12,21:13,22:$V5,23:$V6,24:$V7,25:$V8,27:$V9,28:$Va,30:$Vb,31:$Vc,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{4:158,6:$V1,7:4,8:5,9:6,10:7,11:$V2,12:26,13:$V3,16:$V4,17:$V0,18:9,19:10,20:12,21:13,22:$V5,23:$V6,24:$V7,25:$V8,27:$V9,28:$Va,30:$Vb,31:$Vc,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,16:$VL,20:160,21:120,33:159,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},o($Vt,[2,18]),o($Vt,[2,17]),o($V_,[2,43],{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK}),{15:[1,161]},{4:162,6:$V1,7:4,8:5,9:6,10:7,11:$V2,12:26,13:$V3,16:$V4,17:$V0,18:9,19:10,20:12,21:13,22:$V5,23:$V6,24:$V7,25:$V8,27:$V9,28:$Va,30:$Vb,31:$Vc,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{17:[1,163]},{17:[1,164]},{15:[1,165]},{15:[2,26]},o($VN,[2,50]),{17:[1,166]},{29:[1,167]},o($Vt,[2,22]),{16:[1,168]},o($Vt,[2,8]),{8:170,16:[1,169],28:$Va},{4:171,6:$V1,7:4,8:5,9:6,10:7,11:$V2,12:26,13:$V3,16:$V4,17:$V0,18:9,19:10,20:12,21:13,22:$V5,23:$V6,24:$V7,25:$V8,27:$V9,28:$Va,30:$Vb,31:$Vc,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{4:172,6:$V1,7:4,8:5,9:6,10:7,11:$V2,12:26,13:$V3,16:$V4,17:$V0,18:9,19:10,20:12,21:13,22:$V5,23:$V6,24:$V7,25:$V8,27:$V9,28:$Va,30:$Vb,31:$Vc,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},o($Vt,[2,21]),{17:[1,173]},{17:[1,174]},o($Vt,[2,23]),o($Vt,[2,20])], +defaultActions: {41:[2,1],46:[2,72],82:[2,77],132:[2,74],144:[2,79],160:[2,26]}, parseError: function parseError(str, hash) { if (hash.recoverable) { this.trace(str); @@ -953,122 +969,124 @@ case 1:/* skip multi-line comments */ break; case 2:/* skip whitespace */ break; -case 3:return 13 +case 3:return 11 break; -case 4:return 21 +case 4:return 22 break; -case 5:return 26 +case 5:return 28 break; -case 6:return 27 +case 6:return 29 break; -case 7:return 28 +case 7:return 30 break; -case 8:return 29 +case 8:return 31 break; -case 9:return 'case' +case 9:return 23 break; -case 10:return 'default' +case 10:return 24 break; -case 11:return 52 +case 11:return 25 break; -case 12:return 22 +case 12:return 27 break; -case 13:return 23 +case 13:return 42 break; -case 14:return 24 +case 14:return 48 break; -case 15:return 40 +case 15:return 26 break; -case 16:return 25 +case 16:return 16 break; -case 17:return 8 +case 17:return 17 break; -case 18:return 9 +case 18:return 6 break; -case 19:return 6 +case 19:return 69 break; -case 20:return 65 +case 20:return 59 break; -case 21:return 57 +case 21:return 60 break; -case 22:return 58 +case 22:return 61 break; -case 23:return 60 +case 23:return 62 break; -case 24:return 46 +case 24:return 64 break; -case 25:return 47 +case 25:return 49 break; -case 26:return 48 +case 26:return 50 break; -case 27:return 61 +case 27:return 51 break; -case 28:return 61 +case 28:return 65 break; -case 29:this.begin('DoubleQuotedString'); +case 29:return 65 break; -case 30:this.begin('SingleQuotedString'); +case 30:this.begin('DoubleQuotedString'); break; -case 31:this.begin('QuotedStringEscape'); +case 31:this.begin('SingleQuotedString'); break; -case 32:this.popState(); +case 32:this.begin('QuotedStringEscape'); break; case 33:this.popState(); break; -case 34: this.popState(); return 63; +case 34:this.popState(); break; -case 35:return 62; +case 35: this.popState(); return 67; break; -case 36:return 62; +case 36:return 66; break; -case 37:return 69 /* TODO: non-ASCII identifiers */ +case 37:return 66; break; -case 38:return 55 /* 3.1, 3.1e-7 */ +case 38:return 73 /* TODO: non-ASCII identifiers */ break; -case 39:return 56 +case 39:return 57 /* 3.1, 3.1e-7 */ break; -case 40:return 32 +case 40:return 58 break; -case 41:return 33 +case 41:return 34 break; -case 42:return 34 +case 42:return 35 break; -case 43:return 35 +case 43:return 36 break; -case 44:return 36 +case 44:return 37 break; -case 45:return 41 +case 45:return 38 break; -case 46:return 45 +case 46:return 43 break; -case 47:return 44 +case 47:return 47 break; -case 48:return 43 +case 48:return 46 break; -case 49:return 42 +case 49:return 45 break; -case 50:return 37 +case 50:return 44 break; -case 51:return 38 +case 51:return 39 break; -case 52:return 39 +case 52:return 40 break; -case 53:return 15 +case 53:return 41 break; -case 54:return 17 +case 54:return 13 break; -case 55:return 53 +case 55:return 15 break; -case 56:return 54 +case 56:return 55 break; -case 57:return 5 +case 57:return 56 break; -case 58:return 'INVALID' +case 58:return 5 +break; +case 59:return 'INVALID' break; } }, -rules: [/^(?:\/\/([^\n\r]*))/,/^(?:\/\*([\u0000-\uffff]*?)\*\/)/,/^(?:\s+)/,/^(?:function\b)/,/^(?:return\b)/,/^(?:if\b)/,/^(?:else\b)/,/^(?:while\b)/,/^(?:for\b)/,/^(?:case\b)/,/^(?:default\b)/,/^(?:new\b)/,/^(?:break\b)/,/^(?:continue\b)/,/^(?:var\b)/,/^(?:===)/,/^(?:=)/,/^(?:\{)/,/^(?:\})/,/^(?:;)/,/^(?:,)/,/^(?:tru\b)/,/^(?:false\b)/,/^(?:\[\])/,/^(?:\[)/,/^(?:\])/,/^(?:\.)/,/^(?:"")/,/^(?:'')/,/^(?:")/,/^(?:')/,/^(?:\\)/,/^(?:")/,/^(?:')/,/^(?:(.|\r\n|\n))/,/^(?:[^"\\]*)/,/^(?:[^'\\]*)/,/^(?:[A-Za-z_][A-Za-z0-9_]*)/,/^(?:[0-9]+(\.[0-9]+)?([eE][\-+]?[0-9]+)?\b)/,/^(?:[0-9]+\b)/,/^(?:\+)/,/^(?:-)/,/^(?:\*)/,/^(?:\/)/,/^(?:%)/,/^(?:!==)/,/^(?:<=)/,/^(?:>=)/,/^(?:<)/,/^(?:>)/,/^(?:!)/,/^(?:&&)/,/^(?:\|\|)/,/^(?:\()/,/^(?:\))/,/^(?:\?)/,/^(?::)/,/^(?:$)/,/^(?:.)/], -conditions: {"QuotedStringEscape":{"rules":[34],"inclusive":false},"SingleQuotedString":{"rules":[31,33,36],"inclusive":false},"DoubleQuotedString":{"rules":[31,32,35],"inclusive":false},"INITIAL":{"rules":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58],"inclusive":true}} +rules: [/^(?:\/\/([^\n\r]*))/,/^(?:\/\*([\u0000-\uffff]*?)\*\/)/,/^(?:\s+)/,/^(?:function\b)/,/^(?:return\b)/,/^(?:if\b)/,/^(?:else\b)/,/^(?:while\b)/,/^(?:for\b)/,/^(?:break\b)/,/^(?:continue\b)/,/^(?:let\b)/,/^(?:const\b)/,/^(?:===)/,/^(?:=>)/,/^(?:=)/,/^(?:\{)/,/^(?:\})/,/^(?:;)/,/^(?:,)/,/^(?:true\b)/,/^(?:false\b)/,/^(?:NaN\b)/,/^(?:Infinity\b)/,/^(?:\[\])/,/^(?:\[)/,/^(?:\])/,/^(?:\.)/,/^(?:"")/,/^(?:'')/,/^(?:")/,/^(?:')/,/^(?:\\)/,/^(?:")/,/^(?:')/,/^(?:(.|\r\n|\n))/,/^(?:[^"\\]*)/,/^(?:[^'\\]*)/,/^(?:[A-Za-z_][A-Za-z0-9_]*)/,/^(?:[0-9]+(\.[0-9]+)?([eE][\-+]?[0-9]+)?\b)/,/^(?:[0-9]+\b)/,/^(?:\+)/,/^(?:-)/,/^(?:\*)/,/^(?:\/)/,/^(?:%)/,/^(?:!==)/,/^(?:<=)/,/^(?:>=)/,/^(?:<)/,/^(?:>)/,/^(?:!)/,/^(?:&&)/,/^(?:\|\|)/,/^(?:\()/,/^(?:\))/,/^(?:\?)/,/^(?::)/,/^(?:$)/,/^(?:.)/], +conditions: {"QuotedStringEscape":{"rules":[35],"inclusive":false},"SingleQuotedString":{"rules":[32,34,37],"inclusive":false},"DoubleQuotedString":{"rules":[32,33,36],"inclusive":false},"INITIAL":{"rules":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59],"inclusive":true}} }); return lexer; })(); @@ -1096,4 +1114,4 @@ exports.main = function commonjsMain(args) { if (typeof module !== 'undefined' && require.main === module) { exports.main(process.argv.slice(1)); } -} \ No newline at end of file +} diff --git a/src/stdlib/parser.js b/src/stdlib/parser.js index 979ece094..320a4dd6e 100644 --- a/src/stdlib/parser.js +++ b/src/stdlib/parser.js @@ -75,12 +75,12 @@ } */ export default function createParser() { -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[2,2],$V1=[1,3],$V2=[1,5],$V3=[1,9],$V4=[1,25],$V5=[1,14],$V6=[1,15],$V7=[1,16],$V8=[1,21],$V9=[1,20],$Va=[1,17],$Vb=[1,18],$Vc=[1,19],$Vd=[1,23],$Ve=[1,22],$Vf=[1,24],$Vg=[1,28],$Vh=[1,30],$Vi=[1,31],$Vj=[1,32],$Vk=[1,33],$Vl=[1,34],$Vm=[1,35],$Vn=[1,37],$Vo=[1,38],$Vp=[1,39],$Vq=[1,40],$Vr=[1,29],$Vs=[5,9],$Vt=[5,6,8,9,13,15,22,23,24,25,27,28,30,31,34,35,39,49,57,58,59,60,61,62,64,65,66,67,73],$Vu=[1,51],$Vv=[1,52],$Vw=[1,53],$Vx=[1,54],$Vy=[1,55],$Vz=[1,56],$VA=[1,57],$VB=[1,58],$VC=[1,59],$VD=[1,60],$VE=[1,61],$VF=[1,62],$VG=[1,63],$VH=[1,64],$VI=[1,65],$VJ=[1,66],$VK=[1,67],$VL=[1,69],$VM=[2,78],$VN=[6,9,17,26,34,35,36,37,38,40,41,42,43,44,45,46,47,49,50,51,55,56,69],$VO=[2,49],$VP=[1,85],$VQ=[1,84],$VR=[2,69],$VS=[1,94],$VT=[6,9,17,26,34,35,36,37,38,40,41,42,43,44,45,46,47,50,55,56,69],$VU=[1,125],$VV=[17,50],$VW=[6,9,17,26,34,35,40,41,42,43,44,45,46,47,50,55,56,69],$VX=[6,9,17,26,40,41,42,43,50,55,56,69],$VY=[6,9,17,26,40,41,42,43,44,45,46,47,50,55,56,69],$VZ=[8,15,34,35,39,49,57,58,59,60,61,62,64,65,66,67,73],$V_=[6,9,17,26,50,56,69]; +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[2,2],$V1=[1,3],$V2=[1,8],$V3=[1,25],$V4=[1,11],$V5=[1,14],$V6=[1,15],$V7=[1,16],$V8=[1,21],$V9=[1,20],$Va=[1,17],$Vb=[1,18],$Vc=[1,19],$Vd=[1,23],$Ve=[1,22],$Vf=[1,24],$Vg=[1,28],$Vh=[1,30],$Vi=[1,31],$Vj=[1,32],$Vk=[1,33],$Vl=[1,34],$Vm=[1,35],$Vn=[1,37],$Vo=[1,38],$Vp=[1,39],$Vq=[1,40],$Vr=[1,29],$Vs=[5,17],$Vt=[5,6,11,13,16,17,22,23,24,25,27,28,30,31,34,35,39,49,57,58,59,60,61,62,64,65,66,67,73],$Vu=[1,51],$Vv=[1,52],$Vw=[1,53],$Vx=[1,54],$Vy=[1,55],$Vz=[1,56],$VA=[1,57],$VB=[1,58],$VC=[1,59],$VD=[1,60],$VE=[1,61],$VF=[1,62],$VG=[1,63],$VH=[1,64],$VI=[1,65],$VJ=[1,66],$VK=[1,67],$VL=[1,69],$VM=[2,78],$VN=[6,15,17,26,34,35,36,37,38,40,41,42,43,44,45,46,47,49,50,51,55,56,69],$VO=[2,49],$VP=[1,85],$VQ=[1,84],$VR=[2,69],$VS=[1,95],$VT=[6,15,17,26,34,35,36,37,38,40,41,42,43,44,45,46,47,50,55,56,69],$VU=[1,125],$VV=[15,50],$VW=[6,15,17,26,34,35,40,41,42,43,44,45,46,47,50,55,56,69],$VX=[6,15,17,26,40,41,42,43,50,55,56,69],$VY=[6,15,17,26,40,41,42,43,44,45,46,47,50,55,56,69],$VZ=[13,16,34,35,39,49,57,58,59,60,61,62,64,65,66,67,73],$V_=[6,15,17,26,50,56,69]; var parser = {trace: function trace() { }, yy: {}, -symbols_: {"error":2,"program":3,"statements":4,"EOF":5,";":6,"statement":7,"{":8,"}":9,"ifstatement":10,"whilestatement":11,"forstatement":12,"function":13,"identifier":14,"(":15,"identifiers":16,")":17,"constdeclaration":18,"letdeclaration":19,"assignment":20,"expression":21,"return":22,"break":23,"continue":24,"let":25,"=":26,"const":27,"if":28,"else":29,"while":30,"for":31,"forinitialiser":32,"forfinaliser":33,"+":34,"-":35,"*":36,"/":37,"%":38,"!":39,"&&":40,"||":41,"===":42,"!==":43,">":44,"<":45,">=":46,"<=":47,"=>":48,"[":49,"]":50,".":51,"constants":52,"expressions":53,"pairs":54,"?":55,":":56,"FLOAT_NUMBER":57,"INT_NUMBER":58,"true":59,"false":60,"NaN":61,"Infinity":62,"quotedstring":63,"emptylist":64,"EmptyString":65,"QuotedString":66,"QuotedStringEscape":67,"nonemptyexpressions":68,",":69,"nonemptypairs":70,"pair":71,"nonemptyidentifiers":72,"Identifier":73,"$accept":0,"$end":1}, -terminals_: {2:"error",5:"EOF",6:";",8:"{",9:"}",13:"function",15:"(",17:")",22:"return",23:"break",24:"continue",25:"let",26:"=",27:"const",28:"if",29:"else",30:"while",31:"for",34:"+",35:"-",36:"*",37:"/",38:"%",39:"!",40:"&&",41:"||",42:"===",43:"!==",44:">",45:"<",46:">=",47:"<=",48:"=>",49:"[",50:"]",51:".",55:"?",56:":",57:"FLOAT_NUMBER",58:"INT_NUMBER",59:"true",60:"false",61:"NaN",62:"Infinity",64:"emptylist",65:"EmptyString",66:"QuotedString",67:"QuotedStringEscape",69:",",73:"Identifier"}, -productions_: [0,[3,2],[4,0],[4,1],[4,2],[4,3],[7,1],[7,1],[7,1],[7,8],[7,1],[7,1],[7,2],[7,2],[7,3],[7,2],[7,2],[19,5],[18,5],[20,3],[10,11],[10,9],[11,7],[12,10],[32,1],[32,2],[33,1],[21,3],[21,3],[21,3],[21,3],[21,3],[21,2],[21,2],[21,2],[21,3],[21,3],[21,3],[21,3],[21,3],[21,3],[21,3],[21,3],[21,5],[21,3],[21,4],[21,3],[21,3],[21,1],[21,1],[21,6],[21,3],[21,3],[21,4],[21,5],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[63,1],[63,1],[63,1],[63,2],[63,2],[53,1],[53,0],[68,3],[68,1],[54,1],[54,0],[70,3],[70,1],[71,3],[16,1],[16,0],[72,3],[72,1],[14,1]], +symbols_: {"error":2,"program":3,"statements":4,"EOF":5,";":6,"statement":7,"ifstatement":8,"whilestatement":9,"forstatement":10,"function":11,"identifier":12,"(":13,"identifiers":14,")":15,"{":16,"}":17,"constdeclaration":18,"letdeclaration":19,"assignment":20,"expression":21,"return":22,"break":23,"continue":24,"let":25,"=":26,"const":27,"if":28,"else":29,"while":30,"for":31,"forinitialiser":32,"forfinaliser":33,"+":34,"-":35,"*":36,"/":37,"%":38,"!":39,"&&":40,"||":41,"===":42,"!==":43,">":44,"<":45,">=":46,"<=":47,"=>":48,"[":49,"]":50,".":51,"constants":52,"expressions":53,"pairs":54,"?":55,":":56,"FLOAT_NUMBER":57,"INT_NUMBER":58,"true":59,"false":60,"NaN":61,"Infinity":62,"quotedstring":63,"emptylist":64,"EmptyString":65,"QuotedString":66,"QuotedStringEscape":67,"nonemptyexpressions":68,",":69,"nonemptypairs":70,"pair":71,"nonemptyidentifiers":72,"Identifier":73,"$accept":0,"$end":1}, +terminals_: {2:"error",5:"EOF",6:";",11:"function",13:"(",15:")",16:"{",17:"}",22:"return",23:"break",24:"continue",25:"let",26:"=",27:"const",28:"if",29:"else",30:"while",31:"for",34:"+",35:"-",36:"*",37:"/",38:"%",39:"!",40:"&&",41:"||",42:"===",43:"!==",44:">",45:"<",46:">=",47:"<=",48:"=>",49:"[",50:"]",51:".",55:"?",56:":",57:"FLOAT_NUMBER",58:"INT_NUMBER",59:"true",60:"false",61:"NaN",62:"Infinity",64:"emptylist",65:"EmptyString",66:"QuotedString",67:"QuotedStringEscape",69:",",73:"Identifier"}, +productions_: [0,[3,2],[4,0],[4,1],[4,2],[7,1],[7,1],[7,1],[7,8],[7,1],[7,1],[7,3],[7,2],[7,2],[7,3],[7,2],[7,2],[19,5],[18,5],[20,3],[8,11],[8,9],[9,7],[10,10],[32,1],[32,2],[33,1],[21,3],[21,3],[21,3],[21,3],[21,3],[21,2],[21,2],[21,2],[21,3],[21,3],[21,3],[21,3],[21,3],[21,3],[21,3],[21,3],[21,5],[21,3],[21,4],[21,3],[21,3],[21,1],[21,1],[21,6],[21,3],[21,3],[21,4],[21,5],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[63,1],[63,1],[63,1],[63,2],[63,2],[53,1],[53,0],[68,3],[68,1],[54,1],[54,0],[70,3],[70,1],[71,3],[14,1],[14,0],[72,3],[72,1],[12,1]], performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { /* this == yyval */ @@ -95,15 +95,7 @@ break; case 4: this.$ = pair($$[$0-1], $$[$0]); break; -case 5: - - this.$ = { - tag: 'block', - body: $$[$0-1] - }; - -break; -case 9: +case 8: this.$ = { tag: 'constant_declaration', @@ -123,6 +115,14 @@ case 9: line: yylineno }; +break; +case 11: + + this.$ = { + tag: 'block', + body: $$[$0-1] + }; + break; case 14: @@ -488,8 +488,8 @@ case 81: break; } }, -table: [{3:1,4:2,5:$V0,6:$V1,7:4,8:$V2,10:6,11:7,12:8,13:$V3,14:26,15:$V4,18:10,19:11,20:12,21:13,22:$V5,23:$V6,24:$V7,25:$V8,27:$V9,28:$Va,30:$Vb,31:$Vc,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{1:[3]},{5:[1,41]},o($Vs,[2,3]),o($Vs,$V0,{7:4,10:6,11:7,12:8,18:10,19:11,20:12,21:13,14:26,52:27,63:36,4:42,6:$V1,8:$V2,13:$V3,15:$V4,22:$V5,23:$V6,24:$V7,25:$V8,27:$V9,28:$Va,30:$Vb,31:$Vc,34:$Vd,35:$Ve,39:$Vf,49:$Vg,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr}),{4:43,6:$V1,7:4,8:$V2,9:$V0,10:6,11:7,12:8,13:$V3,14:47,15:$V4,18:10,19:11,20:12,21:13,22:$V5,23:$V6,24:$V7,25:$V8,27:$V9,28:$Va,30:$Vb,31:$Vc,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,54:44,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,70:45,71:46,73:$Vr},o($Vt,[2,6]),o($Vt,[2,7]),o($Vt,[2,8]),{14:48,73:$Vr},o($Vt,[2,10]),o($Vt,[2,11]),{6:[1,49]},{6:[1,50],26:$Vu,34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK},{8:$VL,14:26,15:$V4,21:68,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{6:[1,70]},{6:[1,71]},{15:[1,72]},{15:[1,73]},{15:[1,74]},{14:75,73:$Vr},{14:76,73:$Vr},{8:$VL,14:26,15:$V4,21:77,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{8:$VL,14:26,15:$V4,21:78,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{8:$VL,14:26,15:$V4,21:79,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{8:$VL,14:83,15:$V4,16:80,17:$VM,21:81,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,72:82,73:$Vr},o($VN,$VO,{15:$VP,48:$VQ}),o($VN,[2,48]),{8:$VL,14:26,15:$V4,21:88,34:$Vd,35:$Ve,39:$Vf,49:$Vg,50:$VR,52:27,53:86,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,68:87,73:$Vr},o([6,9,15,17,26,34,35,36,37,38,40,41,42,43,44,45,46,47,48,49,50,51,55,56,69],[2,81]),o($VN,[2,55]),o($VN,[2,56]),o($VN,[2,57]),o($VN,[2,58]),o($VN,[2,59]),o($VN,[2,60]),o($VN,[2,61]),o($VN,[2,62]),o($VN,[2,63]),o($VN,[2,64],{63:89,65:$Vo,66:$Vp,67:$Vq}),o($VN,[2,65],{63:90,65:$Vo,66:$Vp,67:$Vq}),{1:[2,1]},o($Vs,[2,4]),{9:[1,91]},{9:[1,92]},{9:[2,72]},{9:[2,75],69:[1,93]},o([6,26,34,35,36,37,38,40,41,42,43,44,45,46,47,49,51,55],$VO,{15:$VP,48:$VQ,56:$VS}),{15:[1,95]},o($Vt,[2,12]),o($Vt,[2,13]),{8:$VL,14:26,15:$V4,21:96,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{8:$VL,14:26,15:$V4,21:97,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{8:$VL,14:26,15:$V4,21:98,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{8:$VL,14:26,15:$V4,21:99,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{8:$VL,14:26,15:$V4,21:100,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{8:$VL,14:26,15:$V4,21:101,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{8:$VL,14:26,15:$V4,21:102,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{8:$VL,14:26,15:$V4,21:103,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{8:$VL,14:26,15:$V4,21:104,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{8:$VL,14:26,15:$V4,21:105,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{8:$VL,14:26,15:$V4,21:106,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{8:$VL,14:26,15:$V4,21:107,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{8:$VL,14:26,15:$V4,21:108,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{8:$VL,14:26,15:$V4,21:109,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{8:$VL,14:26,15:$V4,21:110,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{14:111,73:$Vr},{8:$VL,14:26,15:$V4,21:112,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{6:[1,113],34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK},{9:[2,73],14:114,54:44,70:45,71:46,73:$Vr},o($Vt,[2,15]),o($Vt,[2,16]),{8:$VL,14:26,15:$V4,21:115,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{8:$VL,14:26,15:$V4,21:116,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{8:$VL,14:26,15:$V4,19:118,20:119,21:120,25:$V8,32:117,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{26:[1,121]},{26:[1,122]},o($VT,[2,32],{49:$VI,51:$VJ}),o($VT,[2,33],{49:$VI,51:$VJ}),o($VT,[2,34],{49:$VI,51:$VJ}),{17:[1,123]},{17:[1,124],34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK},{17:[2,77]},o([17,34,35,36,37,38,40,41,42,43,44,45,46,47,49,51,55],$VO,{15:$VP,48:$VQ,69:$VU}),{8:$VL,14:26,15:$V4,21:126,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{8:$VL,14:26,15:$V4,17:$VR,21:88,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,53:127,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,68:87,73:$Vr},{50:[1,128]},o($VV,[2,68]),o($VV,[2,71],{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK,69:[1,129]}),o($VN,[2,67]),o($VN,[2,66]),o($Vs,[2,5]),o($VN,[2,52]),{14:114,70:130,71:46,73:$Vr},{8:$VL,14:26,15:$V4,21:131,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{14:133,16:132,17:$VM,72:82,73:$Vr},o([6,17],[2,19],{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK}),o($VW,[2,27],{36:$Vx,37:$Vy,38:$Vz,49:$VI,51:$VJ}),o($VW,[2,28],{36:$Vx,37:$Vy,38:$Vz,49:$VI,51:$VJ}),o($VT,[2,29],{49:$VI,51:$VJ}),o($VT,[2,30],{49:$VI,51:$VJ}),o($VT,[2,31],{49:$VI,51:$VJ}),o([6,9,17,26,40,41,50,55,56,69],[2,35],{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ}),o([6,9,17,26,41,50,55,56,69],[2,36],{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ}),o($VX,[2,37],{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ}),o($VX,[2,38],{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ}),o($VY,[2,39],{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,49:$VI,51:$VJ}),o($VY,[2,40],{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,49:$VI,51:$VJ}),o($VY,[2,41],{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,49:$VI,51:$VJ}),o($VY,[2,42],{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,49:$VI,51:$VJ}),{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,50:[1,134],51:$VJ,55:$VK},o($VN,[2,46]),{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK,56:[1,135]},o($Vt,[2,14]),{56:$VS},{17:[1,136],34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK},{17:[1,137],34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK},{8:$VL,14:26,15:$V4,21:138,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},o($VZ,[2,24]),{6:[1,139]},{26:$Vu,34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK},{8:$VL,14:26,15:$V4,21:140,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{8:$VL,14:26,15:$V4,21:141,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{48:[1,142]},o($VN,[2,47],{15:[1,143]}),{14:133,72:144,73:$Vr},o($V_,[2,44],{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK}),{17:[1,145]},o($VN,[2,51]),{8:$VL,14:26,15:$V4,21:88,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,68:146,73:$Vr},{9:[2,74]},o([9,69],[2,76],{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK}),{17:[1,147]},{17:[2,80],69:$VU},o($VN,[2,45]),{8:$VL,14:26,15:$V4,21:148,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{8:[1,149]},{8:[1,150]},{6:[1,151],34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK},o($VZ,[2,25]),{6:[1,152],34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK},{6:[1,153],34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK},{8:$VL,14:26,15:$V4,21:154,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{8:$VL,14:26,15:$V4,17:$VR,21:88,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,53:155,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,68:87,73:$Vr},{17:[2,79]},o($VN,[2,53]),o($VV,[2,70]),{8:[1,156]},o($V_,[2,54],{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK}),{4:157,6:$V1,7:4,8:$V2,9:$V0,10:6,11:7,12:8,13:$V3,14:26,15:$V4,18:10,19:11,20:12,21:13,22:$V5,23:$V6,24:$V7,25:$V8,27:$V9,28:$Va,30:$Vb,31:$Vc,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{4:158,6:$V1,7:4,8:$V2,9:$V0,10:6,11:7,12:8,13:$V3,14:26,15:$V4,18:10,19:11,20:12,21:13,22:$V5,23:$V6,24:$V7,25:$V8,27:$V9,28:$Va,30:$Vb,31:$Vc,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{8:$VL,14:26,15:$V4,20:160,21:120,33:159,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},o($Vt,[2,18]),o($Vt,[2,17]),o($V_,[2,43],{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK}),{17:[1,161]},{4:162,6:$V1,7:4,8:$V2,9:$V0,10:6,11:7,12:8,13:$V3,14:26,15:$V4,18:10,19:11,20:12,21:13,22:$V5,23:$V6,24:$V7,25:$V8,27:$V9,28:$Va,30:$Vb,31:$Vc,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{9:[1,163]},{9:[1,164]},{17:[1,165]},{17:[2,26]},o($VN,[2,50]),{9:[1,166]},{29:[1,167]},o($Vt,[2,22]),{8:[1,168]},o($Vt,[2,9]),{8:[1,169],10:170,28:$Va},{4:171,6:$V1,7:4,8:$V2,9:$V0,10:6,11:7,12:8,13:$V3,14:26,15:$V4,18:10,19:11,20:12,21:13,22:$V5,23:$V6,24:$V7,25:$V8,27:$V9,28:$Va,30:$Vb,31:$Vc,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{4:172,6:$V1,7:4,8:$V2,9:$V0,10:6,11:7,12:8,13:$V3,14:26,15:$V4,18:10,19:11,20:12,21:13,22:$V5,23:$V6,24:$V7,25:$V8,27:$V9,28:$Va,30:$Vb,31:$Vc,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},o($Vt,[2,21]),{9:[1,173]},{9:[1,174]},o($Vt,[2,23]),o($Vt,[2,20])], -defaultActions: {41:[2,1],45:[2,72],82:[2,77],130:[2,74],144:[2,79],160:[2,26]}, +table: [{3:1,4:2,5:$V0,6:$V1,7:4,8:5,9:6,10:7,11:$V2,12:26,13:$V3,16:$V4,18:9,19:10,20:12,21:13,22:$V5,23:$V6,24:$V7,25:$V8,27:$V9,28:$Va,30:$Vb,31:$Vc,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{1:[3]},{5:[1,41]},o($Vs,[2,3]),o($Vs,$V0,{7:4,8:5,9:6,10:7,18:9,19:10,20:12,21:13,12:26,52:27,63:36,4:42,6:$V1,11:$V2,13:$V3,16:$V4,22:$V5,23:$V6,24:$V7,25:$V8,27:$V9,28:$Va,30:$Vb,31:$Vc,34:$Vd,35:$Ve,39:$Vf,49:$Vg,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr}),o($Vt,[2,5]),o($Vt,[2,6]),o($Vt,[2,7]),{12:43,73:$Vr},o($Vt,[2,9]),o($Vt,[2,10]),{4:44,6:$V1,7:4,8:5,9:6,10:7,11:$V2,12:48,13:$V3,16:$V4,17:$V0,18:9,19:10,20:12,21:13,22:$V5,23:$V6,24:$V7,25:$V8,27:$V9,28:$Va,30:$Vb,31:$Vc,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,54:45,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,70:46,71:47,73:$Vr},{6:[1,49]},{6:[1,50],26:$Vu,34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK},{12:26,13:$V3,16:$VL,21:68,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{6:[1,70]},{6:[1,71]},{13:[1,72]},{13:[1,73]},{13:[1,74]},{12:75,73:$Vr},{12:76,73:$Vr},{12:26,13:$V3,16:$VL,21:77,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,16:$VL,21:78,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,16:$VL,21:79,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:83,13:$V3,14:80,15:$VM,16:$VL,21:81,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,72:82,73:$Vr},o($VN,$VO,{13:$VP,48:$VQ}),o($VN,[2,48]),{12:26,13:$V3,16:$VL,21:88,34:$Vd,35:$Ve,39:$Vf,49:$Vg,50:$VR,52:27,53:86,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,68:87,73:$Vr},o([6,13,15,17,26,34,35,36,37,38,40,41,42,43,44,45,46,47,48,49,50,51,55,56,69],[2,81]),o($VN,[2,55]),o($VN,[2,56]),o($VN,[2,57]),o($VN,[2,58]),o($VN,[2,59]),o($VN,[2,60]),o($VN,[2,61]),o($VN,[2,62]),o($VN,[2,63]),o($VN,[2,64],{63:89,65:$Vo,66:$Vp,67:$Vq}),o($VN,[2,65],{63:90,65:$Vo,66:$Vp,67:$Vq}),{1:[2,1]},o($Vs,[2,4]),{13:[1,91]},{17:[1,92]},{17:[1,93]},{17:[2,72]},{17:[2,75],69:[1,94]},o([6,26,34,35,36,37,38,40,41,42,43,44,45,46,47,49,51,55],$VO,{13:$VP,48:$VQ,56:$VS}),o($Vt,[2,12]),o($Vt,[2,13]),{12:26,13:$V3,16:$VL,21:96,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,16:$VL,21:97,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,16:$VL,21:98,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,16:$VL,21:99,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,16:$VL,21:100,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,16:$VL,21:101,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,16:$VL,21:102,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,16:$VL,21:103,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,16:$VL,21:104,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,16:$VL,21:105,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,16:$VL,21:106,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,16:$VL,21:107,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,16:$VL,21:108,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,16:$VL,21:109,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,16:$VL,21:110,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:111,73:$Vr},{12:26,13:$V3,16:$VL,21:112,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{6:[1,113],34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK},{12:114,17:[2,73],54:45,70:46,71:47,73:$Vr},o($Vt,[2,15]),o($Vt,[2,16]),{12:26,13:$V3,16:$VL,21:115,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,16:$VL,21:116,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,16:$VL,19:118,20:119,21:120,25:$V8,32:117,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{26:[1,121]},{26:[1,122]},o($VT,[2,32],{49:$VI,51:$VJ}),o($VT,[2,33],{49:$VI,51:$VJ}),o($VT,[2,34],{49:$VI,51:$VJ}),{15:[1,123]},{15:[1,124],34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK},{15:[2,77]},o([15,34,35,36,37,38,40,41,42,43,44,45,46,47,49,51,55],$VO,{13:$VP,48:$VQ,69:$VU}),{12:26,13:$V3,16:$VL,21:126,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,15:$VR,16:$VL,21:88,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,53:127,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,68:87,73:$Vr},{50:[1,128]},o($VV,[2,68]),o($VV,[2,71],{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK,69:[1,129]}),o($VN,[2,67]),o($VN,[2,66]),{12:131,14:130,15:$VM,72:82,73:$Vr},o($Vt,[2,11]),o($VN,[2,52]),{12:114,70:132,71:47,73:$Vr},{12:26,13:$V3,16:$VL,21:133,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},o([6,15],[2,19],{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK}),o($VW,[2,27],{36:$Vx,37:$Vy,38:$Vz,49:$VI,51:$VJ}),o($VW,[2,28],{36:$Vx,37:$Vy,38:$Vz,49:$VI,51:$VJ}),o($VT,[2,29],{49:$VI,51:$VJ}),o($VT,[2,30],{49:$VI,51:$VJ}),o($VT,[2,31],{49:$VI,51:$VJ}),o([6,15,17,26,40,41,50,55,56,69],[2,35],{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ}),o([6,15,17,26,41,50,55,56,69],[2,36],{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ}),o($VX,[2,37],{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ}),o($VX,[2,38],{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ}),o($VY,[2,39],{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,49:$VI,51:$VJ}),o($VY,[2,40],{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,49:$VI,51:$VJ}),o($VY,[2,41],{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,49:$VI,51:$VJ}),o($VY,[2,42],{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,49:$VI,51:$VJ}),{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,50:[1,134],51:$VJ,55:$VK},o($VN,[2,46]),{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK,56:[1,135]},o($Vt,[2,14]),{56:$VS},{15:[1,136],34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK},{15:[1,137],34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK},{12:26,13:$V3,16:$VL,21:138,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},o($VZ,[2,24]),{6:[1,139]},{26:$Vu,34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK},{12:26,13:$V3,16:$VL,21:140,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,16:$VL,21:141,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{48:[1,142]},o($VN,[2,47],{13:[1,143]}),{12:131,72:144,73:$Vr},o($V_,[2,44],{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK}),{15:[1,145]},o($VN,[2,51]),{12:26,13:$V3,16:$VL,21:88,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,68:146,73:$Vr},{15:[1,147]},{15:[2,80],69:$VU},{17:[2,74]},o([17,69],[2,76],{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK}),o($VN,[2,45]),{12:26,13:$V3,16:$VL,21:148,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{16:[1,149]},{16:[1,150]},{6:[1,151],34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK},o($VZ,[2,25]),{6:[1,152],34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK},{6:[1,153],34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK},{12:26,13:$V3,16:$VL,21:154,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,15:$VR,16:$VL,21:88,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,53:155,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,68:87,73:$Vr},{15:[2,79]},o($VN,[2,53]),o($VV,[2,70]),{16:[1,156]},o($V_,[2,54],{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK}),{4:157,6:$V1,7:4,8:5,9:6,10:7,11:$V2,12:26,13:$V3,16:$V4,17:$V0,18:9,19:10,20:12,21:13,22:$V5,23:$V6,24:$V7,25:$V8,27:$V9,28:$Va,30:$Vb,31:$Vc,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{4:158,6:$V1,7:4,8:5,9:6,10:7,11:$V2,12:26,13:$V3,16:$V4,17:$V0,18:9,19:10,20:12,21:13,22:$V5,23:$V6,24:$V7,25:$V8,27:$V9,28:$Va,30:$Vb,31:$Vc,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{12:26,13:$V3,16:$VL,20:160,21:120,33:159,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},o($Vt,[2,18]),o($Vt,[2,17]),o($V_,[2,43],{34:$Vv,35:$Vw,36:$Vx,37:$Vy,38:$Vz,40:$VA,41:$VB,42:$VC,43:$VD,44:$VE,45:$VF,46:$VG,47:$VH,49:$VI,51:$VJ,55:$VK}),{15:[1,161]},{4:162,6:$V1,7:4,8:5,9:6,10:7,11:$V2,12:26,13:$V3,16:$V4,17:$V0,18:9,19:10,20:12,21:13,22:$V5,23:$V6,24:$V7,25:$V8,27:$V9,28:$Va,30:$Vb,31:$Vc,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{17:[1,163]},{17:[1,164]},{15:[1,165]},{15:[2,26]},o($VN,[2,50]),{17:[1,166]},{29:[1,167]},o($Vt,[2,22]),{16:[1,168]},o($Vt,[2,8]),{8:170,16:[1,169],28:$Va},{4:171,6:$V1,7:4,8:5,9:6,10:7,11:$V2,12:26,13:$V3,16:$V4,17:$V0,18:9,19:10,20:12,21:13,22:$V5,23:$V6,24:$V7,25:$V8,27:$V9,28:$Va,30:$Vb,31:$Vc,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},{4:172,6:$V1,7:4,8:5,9:6,10:7,11:$V2,12:26,13:$V3,16:$V4,17:$V0,18:9,19:10,20:12,21:13,22:$V5,23:$V6,24:$V7,25:$V8,27:$V9,28:$Va,30:$Vb,31:$Vc,34:$Vd,35:$Ve,39:$Vf,49:$Vg,52:27,57:$Vh,58:$Vi,59:$Vj,60:$Vk,61:$Vl,62:$Vm,63:36,64:$Vn,65:$Vo,66:$Vp,67:$Vq,73:$Vr},o($Vt,[2,21]),{17:[1,173]},{17:[1,174]},o($Vt,[2,23]),o($Vt,[2,20])], +defaultActions: {41:[2,1],46:[2,72],82:[2,77],132:[2,74],144:[2,79],160:[2,26]}, parseError: function parseError(str, hash) { if (hash.recoverable) { this.trace(str); @@ -971,7 +971,7 @@ case 1:/* skip multi-line comments */ break; case 2:/* skip whitespace */ break; -case 3:return 13 +case 3:return 11 break; case 4:return 22 break; @@ -997,9 +997,9 @@ case 14:return 48 break; case 15:return 26 break; -case 16:return 8 +case 16:return 16 break; -case 17:return 9 +case 17:return 17 break; case 18:return 6 break; @@ -1073,9 +1073,9 @@ case 52:return 40 break; case 53:return 41 break; -case 54:return 15 +case 54:return 13 break; -case 55:return 17 +case 55:return 15 break; case 56:return 55 break; From 60b446aed9292bd0c4bbd7a2e9150d2285245899 Mon Sep 17 00:00:00 2001 From: remo5000 Date: Mon, 29 Oct 2018 22:33:12 +0800 Subject: [PATCH 2/2] Bump version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index cb9d99329..3af50643c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "js-slang", - "version": "0.1.10", + "version": "0.1.11", "description": "Javascript-based interpreter for slang, written in Typescript", "author": { "name": "Source Academy",