@fraczak/k 5.1.2 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Code-derivation-tests/blowup.mjs +3 -3
- package/Code-derivation-tests/bnat.mjs +2 -2
- package/Code-derivation-tests/codec-witness-pattern.mjs +50 -0
- package/Code-derivation-tests/convergence-strategy.mjs +24 -0
- package/Code-derivation-tests/dot.mjs +12 -9
- package/Code-derivation-tests/filter-syntax.mjs +21 -0
- package/Code-derivation-tests/loop.mjs +8 -2
- package/Code-derivation-tests/nat.mjs +1 -1
- package/Code-derivation-tests/not-not.mjs +3 -3
- package/Code-derivation-tests/pattern-envelope.mjs +68 -0
- package/Code-derivation-tests/rlz.mjs +2 -2
- package/{BIG_PICTURE.md → DOCS/BIG_PICTURE.md} +103 -50
- package/DOCS/REPL.md +191 -0
- package/DOCS/book/01-introduction.md +51 -0
- package/DOCS/book/02-syntax-and-values.md +111 -0
- package/DOCS/book/03-types-as-finite-automata.md +156 -0
- package/DOCS/book/04-partial-functions-and-composition.md +146 -0
- package/DOCS/book/05-typing-filters-and-normalization.md +111 -0
- package/DOCS/book.md +54 -0
- package/README.md +204 -508
- package/TypeGraph.mjs +43 -0
- package/TypePatternGraph.mjs +251 -0
- package/Value.mjs +192 -0
- package/augmentation.mjs +198 -0
- package/codecs/BINARY_FORMAT.md +53 -0
- package/codecs/POLYMORPHIC_BINARY_FORMAT.md +303 -0
- package/codecs/README.md +215 -0
- package/codecs/example-pipeline.mjs +149 -0
- package/codecs/ieee.mjs +140 -0
- package/codecs/int.mjs +104 -0
- package/codecs/json-codec.mjs +215 -0
- package/codecs/json.mjs +40 -0
- package/codecs/k-parse.mjs +90 -0
- package/codecs/k-pattern.mjs +75 -0
- package/codecs/k-print.mjs +46 -0
- package/codecs/runtime/codec.mjs +768 -0
- package/codecs/runtime/ieee-pattern.mjs +30 -0
- package/codecs/runtime/pattern-json.mjs +96 -0
- package/codecs/runtime/prefix-codec.mjs +425 -0
- package/codecs/runtime/show-value.mjs +68 -0
- package/codecs/runtime/typeFromValue.mjs +34 -0
- package/codecs/runtime/unicode-string.mjs +220 -0
- package/codecs/show.mjs +41 -0
- package/codecs/string-codec.mjs +80 -0
- package/codecs/unit.mjs +51 -0
- package/codecs/utf16.mjs +66 -0
- package/codecs/utf8.mjs +37 -0
- package/codes.mjs +146 -44
- package/compiler.mjs +111 -0
- package/convergence.mjs +197 -0
- package/core.k +197 -0
- package/export.mjs +22 -32
- package/hash.mjs +29 -31
- package/index.mjs +41 -15
- package/k-vscode/.vscode/launch.json +14 -0
- package/k-vscode/README.md +65 -0
- package/k-vscode/language-configuration.json +42 -0
- package/k-vscode/package.json +57 -0
- package/k-vscode/snippets/k.json +92 -0
- package/k-vscode/syntaxes/k.tmLanguage.json +243 -0
- package/k.mjs +56 -54
- package/object.mjs +517 -0
- package/objects/README.md +38 -0
- package/objects/compile-lib.mjs +42 -0
- package/objects/compile.mjs +42 -0
- package/objects/decompile.mjs +32 -0
- package/package.json +18 -8
- package/parser.jison +27 -46
- package/parser.mjs +68 -100
- package/pretty.mjs +21 -40
- package/repl2.mjs +652 -0
- package/run.mjs +264 -231
- package/symbol-table.mjs +3 -17
- package/test-fingerprint.mjs +7 -7
- package/test-hash-fuzz.mjs +107 -0
- package/test-hash-normalization.mjs +134 -0
- package/test-k-object.mjs +74 -0
- package/test-repl2.mjs +95 -0
- package/test.mjs +45 -70
- package/tests.sh +10 -1
- package/typing.mjs +129 -676
- package/unification.mjs +157 -0
- package/valueIO.mjs +54 -0
- package/valueParser.jison +143 -0
- package/valueParser.mjs +713 -0
- package/Code-derivation-tests/built-in.mjs +0 -19
- package/Code-derivation-tests/vector.mjs +0 -19
- package/Filters/bug.k +0 -3
- package/Filters/composing.k +0 -15
- package/Filters/filter.k +0 -9
- package/TODO.md +0 -53
- package/TYPING.md +0 -365
- package/k-repl.cast +0 -1913
- package/k.cast +0 -618
- package/my-objects.json +0 -6
- package/patterns.mjs +0 -543
- package/repl.mjs +0 -213
- package/test-filters.mjs +0 -45
- package/typing-test.mjs +0 -40
package/package.json
CHANGED
|
@@ -1,23 +1,33 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fraczak/k",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "k
|
|
3
|
+
"version": "6.0.0",
|
|
4
|
+
"description": "k — a language for composing first-order partial functions over algebraic data types (products and tagged unions); includes runtime, type derivation, REPL, and codec toolchain",
|
|
5
5
|
"main": "index.mjs",
|
|
6
6
|
"scripts": {
|
|
7
|
-
"prepare": "jiwson -m es6 parser.jison -o parser.mjs",
|
|
8
|
-
"test": "node test.mjs; for f in Code-derivation-tests/*.mjs; do echo $f; node $f; done; node test-fingerprint.mjs; ./tests.sh"
|
|
7
|
+
"prepare": "jiwson -m es6 parser.jison -o parser.mjs; jiwson -m es6 valueParser.jison -o valueParser.mjs; ",
|
|
8
|
+
"test": "node test.mjs; for f in Code-derivation-tests/*.mjs; do echo $f; node $f; done; node test-fingerprint.mjs; node test-hash-fuzz.mjs; node test-hash-normalization.mjs; node test-k-object.mjs; node test-repl2.mjs; ./tests.sh",
|
|
9
|
+
"deps:graph": "node scripts/generate-dependency-graph.mjs"
|
|
9
10
|
},
|
|
10
11
|
"repository": {
|
|
11
12
|
"type": "git",
|
|
12
|
-
"url": "https://github.com/fraczak/k.git"
|
|
13
|
+
"url": "git+https://github.com/fraczak/k.git"
|
|
14
|
+
},
|
|
15
|
+
"publishConfig": {
|
|
16
|
+
"access": "public"
|
|
13
17
|
},
|
|
14
18
|
"author": "Wojciech Fraczak",
|
|
15
19
|
"license": "ISC",
|
|
16
20
|
"bin": {
|
|
17
|
-
"k": "
|
|
18
|
-
"k-
|
|
21
|
+
"k": "k.mjs",
|
|
22
|
+
"k-compile-object": "objects/compile.mjs",
|
|
23
|
+
"k-decompile-object": "objects/decompile.mjs",
|
|
24
|
+
"k-parse": "codecs/k-parse.mjs",
|
|
25
|
+
"k-pattern": "codecs/k-pattern.mjs",
|
|
26
|
+
"k-print": "codecs/k-print.mjs",
|
|
27
|
+
"k-repl": "repl2.mjs",
|
|
28
|
+
"k-repl2": "repl2.mjs"
|
|
19
29
|
},
|
|
20
30
|
"devDependencies": {
|
|
21
|
-
"jiwson": "^0.1.
|
|
31
|
+
"jiwson": "^0.1.2"
|
|
22
32
|
}
|
|
23
33
|
}
|
package/parser.jison
CHANGED
|
@@ -37,63 +37,63 @@ function fromEscString(escString) {
|
|
|
37
37
|
return str;
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
+
|
|
40
41
|
%}
|
|
41
42
|
|
|
42
43
|
%lex
|
|
43
44
|
|
|
44
45
|
%%
|
|
45
|
-
[/][*]([^*]*[*]+[^*/])*[^*]*[*]+[/]
|
|
46
|
-
("//"|"#"|"%"|"--"|"
|
|
47
|
-
\s+
|
|
46
|
+
[/][*]([^*]*[*]+[^*/])*[^*]*[*]+[/] /* c-comment */
|
|
47
|
+
("//"|"#"|"%"|"--"|"\\\\")[^\n]* /* one line comment */
|
|
48
|
+
\s+ /* blanks */
|
|
48
49
|
"<" return 'LA';
|
|
49
50
|
"{" return 'LC';
|
|
50
|
-
"[" return 'LB';
|
|
51
51
|
"(" return 'LP';
|
|
52
52
|
">" return 'RA';
|
|
53
53
|
"}" return 'RC';
|
|
54
|
-
"]" return 'RB';
|
|
55
54
|
")" return 'RP';
|
|
56
55
|
"=" return 'EQ';
|
|
57
56
|
"..." return 'DOTS';
|
|
58
57
|
"." return 'DOT';
|
|
58
|
+
"/" return 'DIV';
|
|
59
|
+
("\\"|"|") return 'VID';
|
|
59
60
|
"," return 'COMMA';
|
|
60
61
|
";" return 'SC';
|
|
61
62
|
":" return 'COL';
|
|
62
63
|
"$" return 'DOLLAR';
|
|
63
64
|
"?" return 'QMARK';
|
|
64
|
-
"|" return 'PIPE';
|
|
65
|
-
"^" return 'CARET';
|
|
66
65
|
"@" return 'AT';
|
|
67
66
|
\"([^"\\]|\\(.|\n))*\"|\'([^'\\]|\\(.|\n))*\' return 'STRING';
|
|
68
|
-
[a-zA-
|
|
69
|
-
|
|
70
|
-
"
|
|
67
|
+
[a-zA-Z0-9_+-][a-zA-Z0-9_?!+-]* return 'NAME';
|
|
68
|
+
|
|
69
|
+
"~" return 'INCREMENTAL';
|
|
71
70
|
<<EOF>> return 'EOF';
|
|
72
71
|
|
|
73
72
|
/lex
|
|
74
73
|
|
|
75
|
-
%token NAME STRING
|
|
76
|
-
%token LA LC
|
|
74
|
+
%token NAME STRING
|
|
75
|
+
%token LA LC LP RA RP RC EQ DOT COMMA SC COL DOLLAR AT QMARK DOTS DIV VID
|
|
76
|
+
%token INCREMENTAL
|
|
77
77
|
%token EOF
|
|
78
78
|
|
|
79
79
|
%start input_with_eof
|
|
80
80
|
|
|
81
81
|
%%
|
|
82
82
|
|
|
83
|
+
str : STRING { $$ = getToken(yytext,yy,_$); $$.value = fromEscString($$.value);};
|
|
83
84
|
name: NAME { $$ = getToken(yytext,yy,_$); };
|
|
84
|
-
|
|
85
|
-
int: INT { $$ = getToken(yytext,yy,_$); $$.value = parseInt($$.value); };
|
|
85
|
+
at: AT { $$ = getToken(yytext,yy,_$); };
|
|
86
86
|
la: LA { $$ = getToken(yytext,yy,_$); };
|
|
87
87
|
lc: LC { $$ = getToken(yytext,yy,_$); };
|
|
88
|
-
lb: LB { $$ = getToken(yytext,yy,_$); };
|
|
89
88
|
lp: LP { $$ = getToken(yytext,yy,_$); };
|
|
90
89
|
ra: RA { $$ = getToken(yytext,yy,_$); };
|
|
91
90
|
rc: RC { $$ = getToken(yytext,yy,_$); };
|
|
92
|
-
rb: RB { $$ = getToken(yytext,yy,_$); };
|
|
93
91
|
rp: RP { $$ = getToken(yytext,yy,_$); };
|
|
94
92
|
eq: EQ { $$ = getToken(yytext,yy,_$); };
|
|
95
93
|
dots: DOTS { $$ = getToken(yytext,yy,_$); };
|
|
96
94
|
dot: DOT { $$ = getToken(yytext,yy,_$); };
|
|
95
|
+
div: DIV { $$ = getToken(yytext,yy,_$); };
|
|
96
|
+
vid: VID { $$ = getToken(yytext,yy,_$); };
|
|
97
97
|
comma: COMMA { $$ = getToken(yytext,yy,_$); };
|
|
98
98
|
sc: SC { $$ = getToken(yytext,yy,_$); };
|
|
99
99
|
col: COL { $$ = getToken(yytext,yy,_$); };
|
|
@@ -120,17 +120,13 @@ defs: { }
|
|
|
120
120
|
|
|
121
121
|
code
|
|
122
122
|
: name { $$ = { code: "ref", ref: $1.value, start: $1.start, end: $1.end}; }
|
|
123
|
-
| AT name { $$ = { code: "ref", ref: "@" + $2.value, start: $1.start, end: $2.end}; }
|
|
124
123
|
| codeDef { $$ = $1; }
|
|
125
124
|
;
|
|
126
125
|
|
|
127
126
|
codeDef
|
|
128
|
-
: lc labelled_codes rc {
|
|
129
|
-
$$ = { code: "union", union: $2, start: $1.start, end: $3.end };
|
|
130
|
-
else
|
|
131
|
-
$$ = { code: "product", product: $2, start: $1.start, end: $3.end }; }
|
|
132
|
-
| lb code rb { $$ = { code: "vector", vector: s.as_ref($2), start: $1.start, end: $3.end }; }
|
|
127
|
+
: lc labelled_codes rc { $$ = { code: "product", product: $2, start: $1.start, end: $3.end }; }
|
|
133
128
|
| la labelled_codes ra { $$ = { code: "union", union: $2, start: $1.start, end: $3.end }; }
|
|
129
|
+
| at name { $$ = { code: "ref", ref: "@" + $2.value, start: $1.start, end: $2.end}; }
|
|
134
130
|
;
|
|
135
131
|
|
|
136
132
|
labelled_codes
|
|
@@ -152,24 +148,15 @@ non_empty_labelled_codes
|
|
|
152
148
|
code_label
|
|
153
149
|
: code name { $$ = {label: $2.value, code: $1}; }
|
|
154
150
|
| code str { $$ = {label: $2.value, code: $1}; }
|
|
155
|
-
| code int { $$ = {label: $2.value, code: $1}; }
|
|
156
151
|
| name col code { $$ = {label: $1.value, code: $3}; }
|
|
157
152
|
| str col code { $$ = {label: $1.value, code: $3}; }
|
|
158
|
-
| int col code { $$ = {label: $1.value, code: $3}; }
|
|
159
153
|
;
|
|
160
154
|
|
|
161
155
|
filter_
|
|
162
156
|
: dollar code { $$ = { type: "code", code: s.as_ref($2), start: $1.start, end: $2.end}; }
|
|
163
|
-
| lp
|
|
164
|
-
$$ = { type: "union", open: $2.open, fields: $2.fields, start: $1.start, end: $3.end};
|
|
165
|
-
else
|
|
166
|
-
$$ = { type: null, open: $2.open, fields: $2.fields, start: $1.start, end: $3.end}; }
|
|
157
|
+
| lp dots rp { $$ = { type: null, open: true, fields: {}, start: $1.start, end: $3.end}; }
|
|
167
158
|
| la labelled_filters ra { $$ = { type: "union", open: $2.open, fields: $2.fields, start: $1.start, end: $3.end}; }
|
|
168
|
-
| lc labelled_filters rc {
|
|
169
|
-
$$ = { type: "union", open: $2.open, fields: $2.fields, start: $1.start, end: $3.end};
|
|
170
|
-
else
|
|
171
|
-
$$ = { type: "product", open: $2.open, fields: $2.fields, start: $1.start, end: $3.end}; }
|
|
172
|
-
| lb filter rb { $$ = { type: "vector", vector: $2, start: $1.start, end: $3.end }; }
|
|
159
|
+
| lc labelled_filters rc { $$ = { type: "product", open: $2.open, fields: $2.fields, start: $1.start, end: $3.end}; }
|
|
173
160
|
;
|
|
174
161
|
|
|
175
162
|
filter
|
|
@@ -201,34 +188,30 @@ filter_label
|
|
|
201
188
|
: dots { $$ = {dots: true }; }
|
|
202
189
|
| filter name { $$ = {label: $2.value, filter: $1}; }
|
|
203
190
|
| filter str { $$ = {label: $2.value, filter: $1}; }
|
|
204
|
-
| filter int { $$ = {label: $2.value, filter: $1}; }
|
|
205
191
|
| name col filter { $$ = {label: $1.value, filter: $3}; }
|
|
206
192
|
| str col filter { $$ = {label: $1.value, filter: $3}; }
|
|
207
|
-
| int col filter { $$ = {label: $1.value, filter: $3}; }
|
|
208
193
|
;
|
|
209
194
|
|
|
210
195
|
comp
|
|
211
196
|
: exp { $$ = $1; }
|
|
212
197
|
| comp exp { $$ = {...comp($1, $2), start: $1.start, end:$2.end}; }
|
|
213
|
-
| comp CARET { $$ = {op: 'caret', caret: $1, start: $1.start, end:$2.end}; }
|
|
214
198
|
;
|
|
215
199
|
|
|
216
200
|
exp
|
|
217
201
|
: lc labelled rc { $$ = {...$2, start: $1.start, end: $3.end}; }
|
|
218
|
-
| lb list rb { $$ = {op: "vector", vector: $2, start: $1.start, end: $3.end}; }
|
|
219
202
|
| la list ra { $$ = {...union($2), start: $1.start, end: $3.end}; }
|
|
220
|
-
| name
|
|
221
|
-
| AT name { $$ = {op: "ref", ref: "@" + $2.value, start: $1.start, end: $2.end}; }
|
|
203
|
+
| at name { $$ = {op: "ref", ref: "@" + $2.value, start: $1.start, end: $2.end}; }
|
|
222
204
|
| lp rp { $$ = {...identity, start: $1.start, end: $2.end}; }
|
|
223
205
|
| lp comp rp { $$ = {...$2, start: $1.start, end: $3.end }; }
|
|
224
|
-
|
|
|
225
|
-
| int { $$ = {op: "int", int: $1.value, start: $1.start, end: $1.end }; }
|
|
226
|
-
| dot int { $$ = {op: "dot", dot: $2.value, start: $1.start, end: $2.end }; }
|
|
227
|
-
| dot str { $$ = {op: "dot", dot: $2.value, start: $1.start, end: $2.end }; }
|
|
206
|
+
| name { $$ = {op: "ref", ref: $1.value, start: $1.start, end: $1.end}; }
|
|
228
207
|
| dot name { $$ = {op: "dot", dot: $2.value, start: $1.start, end: $2.end }; }
|
|
208
|
+
| dot str { $$ = {op: "dot", dot: $2.value, start: $1.start, end: $2.end }; }
|
|
209
|
+
| div name { $$ = {op: "div", div: $2.value, start: $1.start, end: $2.end }; }
|
|
210
|
+
| div str { $$ = {op: "div", div: $2.value, start: $1.start, end: $2.end }; }
|
|
211
|
+
| vid name { $$ = {op: "vid", vid: $2.value, start: $1.start, end: $2.end }; }
|
|
212
|
+
| vid str { $$ = {op: "vid", vid: $2.value, start: $1.start, end: $2.end }; }
|
|
229
213
|
| dollar code { $$ = {op: "code", code: s.as_ref($2), start: $1.start, end: $2.end}; }
|
|
230
214
|
| qmark filter { $$ = {op: "filter", filter: $2, start: $1.start, end:$2.end}; }
|
|
231
|
-
| PIPE { $$ = {op: "pipe", start: $1.start, end: $1.end}; }
|
|
232
215
|
;
|
|
233
216
|
|
|
234
217
|
labelled
|
|
@@ -251,10 +234,8 @@ non_empty_labelled
|
|
|
251
234
|
comp_label
|
|
252
235
|
: comp name { $$ = {label: $2.value, exp: $1}; }
|
|
253
236
|
| comp str { $$ = {label: $2.value, exp: $1}; }
|
|
254
|
-
| comp int { $$ = {label: $2.value, exp: $1}; }
|
|
255
237
|
| name col comp { $$ = {label: $1.value, exp: $3}; }
|
|
256
238
|
| str col comp { $$ = {label: $1.value, exp: $3}; }
|
|
257
|
-
| int col comp { $$ = {label: $1.value, exp: $3}; }
|
|
258
239
|
;
|
|
259
240
|
|
|
260
241
|
list
|
package/parser.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
/* parser generated by jison 0.1.
|
|
2
|
+
/* parser generated by jison 0.1.2 */
|
|
3
3
|
/*
|
|
4
4
|
Returns a Parser object of the following structure:
|
|
5
5
|
|
|
@@ -114,26 +114,24 @@ function fromEscString(escString) {
|
|
|
114
114
|
|
|
115
115
|
|
|
116
116
|
|
|
117
|
+
|
|
117
118
|
var parser = (function(){
|
|
118
|
-
var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[
|
|
119
|
+
var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[6,8,10,12,14,26,28,30,38,40],$V1=[1,10],$V2=[1,22],$V3=[1,21],$V4=[1,20],$V5=[1,23],$V6=[1,24],$V7=[1,25],$V8=[1,26],$V9=[1,11],$Va=[1,27],$Vb=[6,8,10,12,14,26,28,30,38,40,47],$Vc=[2,63],$Vd=[1,33],$Ve=[4,6,8,10,12,14,16,18,20,26,28,30,32,34,38,40,47],$Vf=[1,46],$Vg=[1,53],$Vh=[4,6],$Vi=[2,27],$Vj=[4,6,8,10,12,14,16,18,20,22,26,28,30,32,34,38,40,47],$Vk=[2,32],$Vl=[1,79],$Vm=[1,81],$Vn=[18,32],$Vo=[4,6,8,10,12,14,26,28,30,38,40],$Vp=[1,85],$Vq=[1,88],$Vr=[16,32],$Vs=[2,46],$Vt=[1,94],$Vu=[2,47],$Vv=[16,18],$Vw=[16,18,32],$Vx=[2,76];
|
|
119
120
|
var parser = {trace: function trace () { },
|
|
120
121
|
yy: {},
|
|
121
|
-
symbols_: {"error":2,"
|
|
122
|
-
terminals_: {2:"error",4:"
|
|
123
|
-
productions_: [0,[3,1],[5,1],[7,1],[9,1],[11,1],[13,1],[15,1],[17,1],[19,1],[21,1],[23,1],[25,1],[27,1],[29,1],[31,1],[33,1],[35,1],[37,1],[39,1],[41,1],[43,4],[44,0],[44,1],[45,0],[45,5],[45,6],[49,1],[49,
|
|
122
|
+
symbols_: {"error":2,"str":3,"STRING":4,"name":5,"NAME":6,"at":7,"AT":8,"la":9,"LA":10,"lc":11,"LC":12,"lp":13,"LP":14,"ra":15,"RA":16,"rc":17,"RC":18,"rp":19,"RP":20,"eq":21,"EQ":22,"dots":23,"DOTS":24,"dot":25,"DOT":26,"div":27,"DIV":28,"vid":29,"VID":30,"comma":31,"COMMA":32,"sc":33,"SC":34,"col":35,"COL":36,"dollar":37,"DOLLAR":38,"qmark":39,"QMARK":40,"incremental":41,"INCREMENTAL":42,"input_with_eof":43,"initialize_symbol_table":44,"defs":45,"comp":46,"EOF":47,"codeDef":48,"code":49,"labelled_codes":50,"non_empty_labelled_codes":51,"code_label":52,"filter_":53,"labelled_filters":54,"filter":55,"non_empty_labelled_filters":56,"filter_label":57,"exp":58,"labelled":59,"list":60,"non_empty_labelled":61,"comp_label":62,"non_empty_list":63,"$accept":0,"$end":1},
|
|
123
|
+
terminals_: {2:"error",4:"STRING",6:"NAME",8:"AT",10:"LA",12:"LC",14:"LP",16:"RA",18:"RC",20:"RP",22:"EQ",24:"DOTS",26:"DOT",28:"DIV",30:"VID",32:"COMMA",34:"SC",36:"COL",38:"DOLLAR",40:"QMARK",42:"INCREMENTAL",47:"EOF"},
|
|
124
|
+
productions_: [0,[3,1],[5,1],[7,1],[9,1],[11,1],[13,1],[15,1],[17,1],[19,1],[21,1],[23,1],[25,1],[27,1],[29,1],[31,1],[33,1],[35,1],[37,1],[39,1],[41,1],[43,4],[44,0],[44,1],[45,0],[45,5],[45,6],[49,1],[49,1],[48,3],[48,3],[48,2],[50,0],[50,1],[51,1],[51,3],[52,2],[52,2],[52,3],[52,3],[53,2],[53,3],[53,3],[53,3],[55,1],[55,3],[55,1],[54,0],[54,1],[56,1],[56,3],[57,1],[57,2],[57,2],[57,3],[57,3],[46,1],[46,2],[58,3],[58,3],[58,2],[58,2],[58,3],[58,1],[58,2],[58,2],[58,2],[58,2],[58,2],[58,2],[58,2],[58,2],[59,0],[59,1],[61,1],[61,3],[62,2],[62,2],[62,3],[62,3],[60,0],[60,1],[63,1],[63,3]],
|
|
124
125
|
performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) {
|
|
125
126
|
/* this == yyval */
|
|
126
127
|
|
|
127
128
|
var $0 = $$.length - 1;
|
|
128
129
|
switch (yystate) {
|
|
129
|
-
case 1:
|
|
130
|
-
this.$ = getToken(yytext,yy,_$);
|
|
131
|
-
break;
|
|
132
|
-
case 2:
|
|
130
|
+
case 1:
|
|
133
131
|
this.$ = getToken(yytext,yy,_$); this.$.value = fromEscString(this.$.value);
|
|
134
132
|
break;
|
|
135
|
-
case 3:
|
|
136
|
-
this.$ = getToken(yytext,yy,_$);
|
|
133
|
+
case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: case 10: case 11: case 12: case 13: case 14: case 15: case 16: case 17: case 18: case 19: case 20:
|
|
134
|
+
this.$ = getToken(yytext,yy,_$);
|
|
137
135
|
break;
|
|
138
136
|
case 21:
|
|
139
137
|
|
|
@@ -158,28 +156,22 @@ break;
|
|
|
158
156
|
case 27:
|
|
159
157
|
this.$ = { code: "ref", ref: $$[$0].value, start: $$[$0].start, end: $$[$0].end};
|
|
160
158
|
break;
|
|
161
|
-
case 28:
|
|
162
|
-
this.$ = { code: "ref", ref: "@" + $$[$0].value, start: $$[$0-1].start, end: $$[$0].end};
|
|
163
|
-
break;
|
|
164
|
-
case 29: case 48: case 62: case 91:
|
|
159
|
+
case 28: case 44: case 56: case 81:
|
|
165
160
|
this.$ = $$[$0];
|
|
166
161
|
break;
|
|
162
|
+
case 29:
|
|
163
|
+
this.$ = { code: "product", product: $$[$0-1], start: $$[$0-2].start, end: $$[$0].end };
|
|
164
|
+
break;
|
|
167
165
|
case 30:
|
|
168
|
-
|
|
169
|
-
this.$ = { code: "union", union: $$[$0-1], start: $$[$0-2].start, end: $$[$0].end };
|
|
170
|
-
else
|
|
171
|
-
this.$ = { code: "product", product: $$[$0-1], start: $$[$0-2].start, end: $$[$0].end };
|
|
166
|
+
this.$ = { code: "union", union: $$[$0-1], start: $$[$0-2].start, end: $$[$0].end };
|
|
172
167
|
break;
|
|
173
168
|
case 31:
|
|
174
|
-
this.$ = { code: "
|
|
169
|
+
this.$ = { code: "ref", ref: "@" + $$[$0].value, start: $$[$0-1].start, end: $$[$0].end};
|
|
175
170
|
break;
|
|
176
171
|
case 32:
|
|
177
|
-
this.$ = { code: "union", union: $$[$0-1], start: $$[$0-2].start, end: $$[$0].end };
|
|
178
|
-
break;
|
|
179
|
-
case 33:
|
|
180
172
|
this.$ = {};
|
|
181
173
|
break;
|
|
182
|
-
case
|
|
174
|
+
case 33:
|
|
183
175
|
this.$ = $$[$0].reduce((r, lc) => {
|
|
184
176
|
if (r[lc.label])
|
|
185
177
|
anError(this._$,`Duplicate label '${lc.label}'.`);
|
|
@@ -187,49 +179,40 @@ case 34:
|
|
|
187
179
|
return r }
|
|
188
180
|
, {});
|
|
189
181
|
break;
|
|
190
|
-
case
|
|
182
|
+
case 34: case 49: case 82:
|
|
191
183
|
this.$ = [$$[$0]];
|
|
192
184
|
break;
|
|
193
|
-
case
|
|
185
|
+
case 35: case 50: case 83:
|
|
194
186
|
this.$ = [].concat($$[$0-2],$$[$0]);
|
|
195
187
|
break;
|
|
196
|
-
case
|
|
188
|
+
case 36: case 37:
|
|
197
189
|
this.$ = {label: $$[$0].value, code: $$[$0-1]};
|
|
198
190
|
break;
|
|
199
|
-
case
|
|
191
|
+
case 38: case 39:
|
|
200
192
|
this.$ = {label: $$[$0-2].value, code: $$[$0]};
|
|
201
193
|
break;
|
|
202
|
-
case
|
|
194
|
+
case 40:
|
|
203
195
|
this.$ = { type: "code", code: s.as_ref($$[$0]), start: $$[$0-1].start, end: $$[$0].end};
|
|
204
196
|
break;
|
|
205
|
-
case
|
|
206
|
-
|
|
207
|
-
this.$ = { type: "union", open: $$[$0-1].open, fields: $$[$0-1].fields, start: $$[$0-2].start, end: $$[$0].end};
|
|
208
|
-
else
|
|
209
|
-
this.$ = { type: null, open: $$[$0-1].open, fields: $$[$0-1].fields, start: $$[$0-2].start, end: $$[$0].end};
|
|
197
|
+
case 41:
|
|
198
|
+
this.$ = { type: null, open: true, fields: {}, start: $$[$0-2].start, end: $$[$0].end};
|
|
210
199
|
break;
|
|
211
|
-
case
|
|
200
|
+
case 42:
|
|
212
201
|
this.$ = { type: "union", open: $$[$0-1].open, fields: $$[$0-1].fields, start: $$[$0-2].start, end: $$[$0].end};
|
|
213
202
|
break;
|
|
214
|
-
case
|
|
215
|
-
|
|
216
|
-
this.$ = { type: "union", open: $$[$0-1].open, fields: $$[$0-1].fields, start: $$[$0-2].start, end: $$[$0].end};
|
|
217
|
-
else
|
|
218
|
-
this.$ = { type: "product", open: $$[$0-1].open, fields: $$[$0-1].fields, start: $$[$0-2].start, end: $$[$0].end};
|
|
219
|
-
break;
|
|
220
|
-
case 47:
|
|
221
|
-
this.$ = { type: "vector", vector: $$[$0-1], start: $$[$0-2].start, end: $$[$0].end };
|
|
203
|
+
case 43:
|
|
204
|
+
this.$ = { type: "product", open: $$[$0-1].open, fields: $$[$0-1].fields, start: $$[$0-2].start, end: $$[$0].end};
|
|
222
205
|
break;
|
|
223
|
-
case
|
|
206
|
+
case 45:
|
|
224
207
|
this.$ = { name: $$[$0].value, ...$$[$0-2], start: $$[$0-2].start, end: $$[$0].end };
|
|
225
208
|
break;
|
|
226
|
-
case
|
|
209
|
+
case 46:
|
|
227
210
|
this.$ = { type: 'name', name: $$[$0].value, open: true, start: $$[$0].start, end: $$[$0].end};
|
|
228
211
|
break;
|
|
229
|
-
case
|
|
212
|
+
case 47:
|
|
230
213
|
this.$ = { fields: {}};
|
|
231
214
|
break;
|
|
232
|
-
case
|
|
215
|
+
case 48:
|
|
233
216
|
this.$ = $$[$0].reduce((r, lc) => {
|
|
234
217
|
if (lc.dots) {
|
|
235
218
|
r.open = true;
|
|
@@ -241,64 +224,55 @@ case 52:
|
|
|
241
224
|
return r }
|
|
242
225
|
, { fields: {} });
|
|
243
226
|
break;
|
|
244
|
-
case
|
|
227
|
+
case 51:
|
|
245
228
|
this.$ = {dots: true };
|
|
246
229
|
break;
|
|
247
|
-
case
|
|
230
|
+
case 52: case 53:
|
|
248
231
|
this.$ = {label: $$[$0].value, filter: $$[$0-1]};
|
|
249
232
|
break;
|
|
250
|
-
case
|
|
233
|
+
case 54: case 55:
|
|
251
234
|
this.$ = {label: $$[$0-2].value, filter: $$[$0]};
|
|
252
235
|
break;
|
|
253
|
-
case
|
|
236
|
+
case 57:
|
|
254
237
|
this.$ = {...comp($$[$0-1], $$[$0]), start: $$[$0-1].start, end:$$[$0].end};
|
|
255
238
|
break;
|
|
256
|
-
case
|
|
257
|
-
this.$ = {op: 'caret', caret: $$[$0-1], start: $$[$0-1].start, end:$$[$0].end};
|
|
258
|
-
break;
|
|
259
|
-
case 65:
|
|
239
|
+
case 58:
|
|
260
240
|
this.$ = {...$$[$0-1], start: $$[$0-2].start, end: $$[$0].end};
|
|
261
241
|
break;
|
|
262
|
-
case
|
|
263
|
-
this.$ = {op: "vector", vector: $$[$0-1], start: $$[$0-2].start, end: $$[$0].end};
|
|
264
|
-
break;
|
|
265
|
-
case 67:
|
|
242
|
+
case 59:
|
|
266
243
|
this.$ = {...union($$[$0-1]), start: $$[$0-2].start, end: $$[$0].end};
|
|
267
244
|
break;
|
|
268
|
-
case
|
|
269
|
-
this.$ = {op: "ref", ref: $$[$0].value, start: $$[$0].start, end: $$[$0].end};
|
|
270
|
-
break;
|
|
271
|
-
case 69:
|
|
245
|
+
case 60:
|
|
272
246
|
this.$ = {op: "ref", ref: "@" + $$[$0].value, start: $$[$0-1].start, end: $$[$0].end};
|
|
273
247
|
break;
|
|
274
|
-
case
|
|
248
|
+
case 61:
|
|
275
249
|
this.$ = {...identity, start: $$[$0-1].start, end: $$[$0].end};
|
|
276
250
|
break;
|
|
277
|
-
case
|
|
251
|
+
case 62:
|
|
278
252
|
this.$ = {...$$[$0-1], start: $$[$0-2].start, end: $$[$0].end };
|
|
279
253
|
break;
|
|
280
|
-
case
|
|
281
|
-
this.$ = {op: "
|
|
282
|
-
break;
|
|
283
|
-
case 73:
|
|
284
|
-
this.$ = {op: "int", int: $$[$0].value, start: $$[$0].start, end: $$[$0].end };
|
|
254
|
+
case 63:
|
|
255
|
+
this.$ = {op: "ref", ref: $$[$0].value, start: $$[$0].start, end: $$[$0].end};
|
|
285
256
|
break;
|
|
286
|
-
case
|
|
257
|
+
case 64: case 65:
|
|
287
258
|
this.$ = {op: "dot", dot: $$[$0].value, start: $$[$0-1].start, end: $$[$0].end };
|
|
288
259
|
break;
|
|
289
|
-
case
|
|
260
|
+
case 66: case 67:
|
|
261
|
+
this.$ = {op: "div", div: $$[$0].value, start: $$[$0-1].start, end: $$[$0].end };
|
|
262
|
+
break;
|
|
263
|
+
case 68: case 69:
|
|
264
|
+
this.$ = {op: "vid", vid: $$[$0].value, start: $$[$0-1].start, end: $$[$0].end };
|
|
265
|
+
break;
|
|
266
|
+
case 70:
|
|
290
267
|
this.$ = {op: "code", code: s.as_ref($$[$0]), start: $$[$0-1].start, end: $$[$0].end};
|
|
291
268
|
break;
|
|
292
|
-
case
|
|
269
|
+
case 71:
|
|
293
270
|
this.$ = {op: "filter", filter: $$[$0], start: $$[$0-1].start, end:$$[$0].end};
|
|
294
271
|
break;
|
|
295
|
-
case
|
|
296
|
-
this.$ = {op: "pipe", start: $$[$0].start, end: $$[$0].end};
|
|
297
|
-
break;
|
|
298
|
-
case 80:
|
|
272
|
+
case 72:
|
|
299
273
|
this.$ = {op: "product", product: []};
|
|
300
274
|
break;
|
|
301
|
-
case
|
|
275
|
+
case 73:
|
|
302
276
|
$$[$0].product.reduce( (labels, {label}) =>
|
|
303
277
|
{ if (labels[label])
|
|
304
278
|
anError(this._$,`Duplicate label '${label}'.`)
|
|
@@ -306,25 +280,25 @@ case 81:
|
|
|
306
280
|
return labels; }, {});
|
|
307
281
|
this.$ = $$[$0];
|
|
308
282
|
break;
|
|
309
|
-
case
|
|
283
|
+
case 74:
|
|
310
284
|
this.$ = {op: "product", product: [$$[$0]]};
|
|
311
285
|
break;
|
|
312
|
-
case
|
|
286
|
+
case 75:
|
|
313
287
|
$$[$0-2].product = [].concat($$[$0-2].product,$$[$0]); this.$ = $$[$0-2];
|
|
314
288
|
break;
|
|
315
|
-
case
|
|
289
|
+
case 76: case 77:
|
|
316
290
|
this.$ = {label: $$[$0].value, exp: $$[$0-1]};
|
|
317
291
|
break;
|
|
318
|
-
case
|
|
292
|
+
case 78: case 79:
|
|
319
293
|
this.$ = {label: $$[$0-2].value, exp: $$[$0]};
|
|
320
294
|
break;
|
|
321
|
-
case
|
|
295
|
+
case 80:
|
|
322
296
|
this.$ = [];
|
|
323
297
|
break;
|
|
324
298
|
}
|
|
325
299
|
},
|
|
326
|
-
table: [o($V0,[2,22],{43:1,44:2,41:3,42:[1,4]}),{1:[3]},o($V0,[2,24],{45:5}),o($V0,[2,23]),o($V0,[2,20]),{
|
|
327
|
-
defaultActions: {
|
|
300
|
+
table: [o($V0,[2,22],{43:1,44:2,41:3,42:[1,4]}),{1:[3]},o($V0,[2,24],{45:5}),o($V0,[2,23]),o($V0,[2,20]),{5:7,6:$V1,7:14,8:$V2,9:13,10:$V3,11:12,12:$V4,13:15,14:$V5,25:16,26:$V6,27:17,28:$V7,29:18,30:$V8,37:8,38:$V9,39:19,40:$Va,46:6,58:9},{5:30,6:$V1,7:14,8:$V2,9:13,10:$V3,11:12,12:$V4,13:15,14:$V5,25:16,26:$V6,27:17,28:$V7,29:18,30:$V8,37:31,38:$V9,39:19,40:$Va,47:[1,28],58:29},o($Vb,$Vc,{21:32,22:$Vd}),{5:34,6:$V1,7:39,8:$V2,9:38,10:$V3,11:37,12:$V4,48:36,49:35},o($Ve,[2,56]),o([4,6,8,10,12,14,16,18,20,22,26,28,30,32,34,36,38,40,47],[2,2]),o([6,8,10,12],[2,18]),{3:45,4:$Vf,5:44,6:$V1,7:14,8:$V2,9:13,10:$V3,11:12,12:$V4,13:15,14:$V5,18:[2,72],25:16,26:$V6,27:17,28:$V7,29:18,30:$V8,37:31,38:$V9,39:19,40:$Va,46:43,58:9,59:40,61:41,62:42},{5:30,6:$V1,7:14,8:$V2,9:13,10:$V3,11:12,12:$V4,13:15,14:$V5,16:[2,80],25:16,26:$V6,27:17,28:$V7,29:18,30:$V8,37:31,38:$V9,39:19,40:$Va,46:49,58:9,60:47,63:48},{5:50,6:$V1},{5:30,6:$V1,7:14,8:$V2,9:13,10:$V3,11:12,12:$V4,13:15,14:$V5,19:51,20:$Vg,25:16,26:$V6,27:17,28:$V7,29:18,30:$V8,37:31,38:$V9,39:19,40:$Va,46:52,58:9},{3:55,4:$Vf,5:54,6:$V1},{3:57,4:$Vf,5:56,6:$V1},{3:59,4:$Vf,5:58,6:$V1},{5:62,6:$V1,9:65,10:$V3,11:66,12:$V4,13:64,14:$V5,37:63,38:$V9,53:61,55:60},o([4,6,8,10,12,14,18,24,26,28,30,38,40],[2,5]),o([4,6,8,10,12,14,16,24,26,28,30,38,40],[2,4]),{6:[2,3]},o([6,8,10,12,14,20,24,26,28,30,38,40],[2,6]),o($Vh,[2,12]),o($Vh,[2,13]),o($Vh,[2,14]),o([6,10,12,14,38],[2,19]),{1:[2,21]},o($Ve,[2,57]),o([6,8,10,12,14,16,18,20,26,28,30,32,34,38,40,47],$Vc),{5:67,6:$V1,7:39,8:$V2,9:38,10:$V3,11:37,12:$V4,48:36,49:35},{5:30,6:$V1,7:14,8:$V2,9:13,10:$V3,11:12,12:$V4,13:15,14:$V5,25:16,26:$V6,27:17,28:$V7,29:18,30:$V8,37:31,38:$V9,39:19,40:$Va,46:68,58:9},o($V0,[2,10]),o($Vb,$Vi,{21:69,22:$Vd}),o($Ve,[2,70]),o($Vj,[2,28]),{3:75,4:$Vf,5:74,6:$V1,7:39,8:$V2,9:38,10:$V3,11:37,12:$V4,18:$Vk,48:36,49:73,50:70,51:71,52:72},{3:75,4:$Vf,5:74,6:$V1,7:39,8:$V2,9:38,10:$V3,11:37,12:$V4,16:$Vk,48:36,49:73,50:76,51:71,52:72},{5:77,6:$V1},{17:78,18:$Vl},{18:[2,73],31:80,32:$Vm},o($Vn,[2,74]),{3:83,4:$Vf,5:82,6:$V1,7:14,8:$V2,9:13,10:$V3,11:12,12:$V4,13:15,14:$V5,25:16,26:$V6,27:17,28:$V7,29:18,30:$V8,37:31,38:$V9,39:19,40:$Va,58:29},o($Vo,$Vc,{35:84,36:$Vp}),{35:86,36:$Vp},o([4,6,8,10,12,14,16,18,20,26,28,30,32,34,36,38,40,47],[2,1]),{15:87,16:$Vq},{16:[2,81],31:89,32:$Vm},o($Vr,[2,82],{11:12,9:13,7:14,13:15,25:16,27:17,29:18,39:19,58:29,5:30,37:31,6:$V1,8:$V2,10:$V3,12:$V4,14:$V5,26:$V6,28:$V7,30:$V8,38:$V9,40:$Va}),o($Ve,[2,60]),o($Ve,[2,61]),{5:30,6:$V1,7:14,8:$V2,9:13,10:$V3,11:12,12:$V4,13:15,14:$V5,19:90,20:$Vg,25:16,26:$V6,27:17,28:$V7,29:18,30:$V8,37:31,38:$V9,39:19,40:$Va,58:29},o($Vj,[2,9]),o($Ve,[2,64]),o($Ve,[2,65]),o($Ve,[2,66]),o($Ve,[2,67]),o($Ve,[2,68]),o($Ve,[2,69]),o($Ve,[2,71]),o($Ve,[2,44],{22:[1,91]}),o($Ve,$Vs),{5:67,6:$V1,7:39,8:$V2,9:38,10:$V3,11:37,12:$V4,48:36,49:92},{23:93,24:$Vt},{3:101,4:$Vf,5:100,6:$V1,9:65,10:$V3,11:66,12:$V4,13:64,14:$V5,16:$Vu,23:98,24:$Vt,37:63,38:$V9,53:61,54:95,55:99,56:96,57:97},{3:101,4:$Vf,5:100,6:$V1,9:65,10:$V3,11:66,12:$V4,13:64,14:$V5,18:$Vu,23:98,24:$Vt,37:63,38:$V9,53:61,54:102,55:99,56:96,57:97},o($Vj,$Vi),{5:30,6:$V1,7:14,8:$V2,9:13,10:$V3,11:12,12:$V4,13:15,14:$V5,25:16,26:$V6,27:17,28:$V7,29:18,30:$V8,33:103,34:[1,104],37:31,38:$V9,39:19,40:$Va,58:29},{7:39,8:$V2,9:38,10:$V3,11:37,12:$V4,48:105},{17:106,18:$Vl},o($Vv,[2,33],{31:107,32:$Vm}),o($Vw,[2,34]),{3:109,4:$Vf,5:108,6:$V1},o($Vh,$Vi,{35:110,36:$Vp}),{35:111,36:$Vp},{15:112,16:$Vq},o($Vj,[2,31]),o($Ve,[2,58]),o($Vj,[2,8]),{3:45,4:$Vf,5:44,6:$V1,7:14,8:$V2,9:13,10:$V3,11:12,12:$V4,13:15,14:$V5,25:16,26:$V6,27:17,28:$V7,29:18,30:$V8,37:31,38:$V9,39:19,40:$Va,46:43,58:9,62:113},o([4,6,8,10,12,14,24,26,28,30,38,40],[2,15]),o($Vo,$Vc,{18:$Vx,32:$Vx}),o($Vn,[2,77]),{5:30,6:$V1,7:14,8:$V2,9:13,10:$V3,11:12,12:$V4,13:15,14:$V5,25:16,26:$V6,27:17,28:$V7,29:18,30:$V8,37:31,38:$V9,39:19,40:$Va,46:114,58:9},o($V0,[2,17]),{5:30,6:$V1,7:14,8:$V2,9:13,10:$V3,11:12,12:$V4,13:15,14:$V5,25:16,26:$V6,27:17,28:$V7,29:18,30:$V8,37:31,38:$V9,39:19,40:$Va,46:115,58:9},o($Ve,[2,59]),o($Vj,[2,7]),{5:30,6:$V1,7:14,8:$V2,9:13,10:$V3,11:12,12:$V4,13:15,14:$V5,25:16,26:$V6,27:17,28:$V7,29:18,30:$V8,37:31,38:$V9,39:19,40:$Va,46:116,58:9},o($Ve,[2,62]),{5:117,6:$V1},o($Vj,[2,40]),{19:118,20:$Vg},o([16,18,20,32],[2,11]),{15:119,16:$Vq},o($Vv,[2,48],{31:120,32:$Vm}),o($Vw,[2,49]),o($Vw,[2,51]),{3:122,4:$Vf,5:121,6:$V1},o($Vh,$Vs,{35:123,36:$Vp}),{35:124,36:$Vp},{17:125,18:$Vl},o($V0,[2,25]),o($V0,[2,16]),{34:[1,126]},o($Vj,[2,29]),{3:75,4:$Vf,5:74,6:$V1,7:39,8:$V2,9:38,10:$V3,11:37,12:$V4,48:36,49:73,52:127},o($Vw,[2,36]),o($Vw,[2,37]),{5:67,6:$V1,7:39,8:$V2,9:38,10:$V3,11:37,12:$V4,48:36,49:128},{5:67,6:$V1,7:39,8:$V2,9:38,10:$V3,11:37,12:$V4,48:36,49:129},o($Vj,[2,30]),o($Vn,[2,75]),o($Vn,[2,78],{11:12,9:13,7:14,13:15,25:16,27:17,29:18,39:19,58:29,5:30,37:31,6:$V1,8:$V2,10:$V3,12:$V4,14:$V5,26:$V6,28:$V7,30:$V8,38:$V9,40:$Va}),o($Vn,[2,79],{11:12,9:13,7:14,13:15,25:16,27:17,29:18,39:19,58:29,5:30,37:31,6:$V1,8:$V2,10:$V3,12:$V4,14:$V5,26:$V6,28:$V7,30:$V8,38:$V9,40:$Va}),o($Vr,[2,83],{11:12,9:13,7:14,13:15,25:16,27:17,29:18,39:19,58:29,5:30,37:31,6:$V1,8:$V2,10:$V3,12:$V4,14:$V5,26:$V6,28:$V7,30:$V8,38:$V9,40:$Va}),o($Ve,[2,45]),o($Vj,[2,41]),o($Vj,[2,42]),{3:101,4:$Vf,5:100,6:$V1,9:65,10:$V3,11:66,12:$V4,13:64,14:$V5,23:98,24:$Vt,37:63,38:$V9,53:61,55:99,57:130},o($Vw,[2,52]),o($Vw,[2,53]),{5:62,6:$V1,9:65,10:$V3,11:66,12:$V4,13:64,14:$V5,37:63,38:$V9,53:61,55:131},{5:62,6:$V1,9:65,10:$V3,11:66,12:$V4,13:64,14:$V5,37:63,38:$V9,53:61,55:132},o($Vj,[2,43]),o($V0,[2,26]),o($Vw,[2,35]),o($Vw,[2,38]),o($Vw,[2,39]),o($Vw,[2,50]),o($Vw,[2,54]),o($Vw,[2,55])],
|
|
301
|
+
defaultActions: {22:[2,3],28:[2,21]},
|
|
328
302
|
parseError: function parseError (str, hash) {
|
|
329
303
|
if (hash.recoverable) {
|
|
330
304
|
this.trace(str);
|
|
@@ -816,11 +790,11 @@ case 7:return 18;
|
|
|
816
790
|
break;
|
|
817
791
|
case 8:return 20;
|
|
818
792
|
break;
|
|
819
|
-
case 9:return 22;
|
|
793
|
+
case 9:return 22;
|
|
820
794
|
break;
|
|
821
795
|
case 10:return 24;
|
|
822
796
|
break;
|
|
823
|
-
case 11:return 26;
|
|
797
|
+
case 11:return 26;
|
|
824
798
|
break;
|
|
825
799
|
case 12:return 28;
|
|
826
800
|
break;
|
|
@@ -836,26 +810,20 @@ case 17:return 38;
|
|
|
836
810
|
break;
|
|
837
811
|
case 18:return 40;
|
|
838
812
|
break;
|
|
839
|
-
case 19:return
|
|
840
|
-
break;
|
|
841
|
-
case 20:return 60;
|
|
842
|
-
break;
|
|
843
|
-
case 21:return 50;
|
|
844
|
-
break;
|
|
845
|
-
case 22:return 6;
|
|
813
|
+
case 19:return 8;
|
|
846
814
|
break;
|
|
847
|
-
case
|
|
815
|
+
case 20:return 4;
|
|
848
816
|
break;
|
|
849
|
-
case
|
|
817
|
+
case 21:return 6;
|
|
850
818
|
break;
|
|
851
|
-
case
|
|
819
|
+
case 22:return 42;
|
|
852
820
|
break;
|
|
853
|
-
case
|
|
821
|
+
case 23:return 47;
|
|
854
822
|
break;
|
|
855
823
|
}
|
|
856
824
|
},
|
|
857
|
-
rules: [/^(?:[/][*]([^*]*[*]+[^*/])*[^*]*[*]+[/])/,/^(?:(
|
|
858
|
-
conditions: {"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
|
|
825
|
+
rules: [/^(?:[/][*]([^*]*[*]+[^*/])*[^*]*[*]+[/])/,/^(?:(\/\/|#|%|--|\\\\)[^\n]*)/,/^(?:\s+)/,/^(?:<)/,/^(?:\{)/,/^(?:\()/,/^(?:>)/,/^(?:\})/,/^(?:\))/,/^(?:=)/,/^(?:\.\.\.)/,/^(?:\.)/,/^(?:\/)/,/^(?:(\\|\|))/,/^(?:,)/,/^(?:;)/,/^(?::)/,/^(?:\$)/,/^(?:\?)/,/^(?:@)/,/^(?:"([^"\\]|\\(.|\n))*"|'([^'\\]|\\(.|\n))*')/,/^(?:[a-zA-Z0-9_+-][a-zA-Z0-9_?!+-]*)/,/^(?:~)/,/^(?:$)/],
|
|
826
|
+
conditions: {"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],"inclusive":true}}
|
|
859
827
|
});
|
|
860
828
|
return lexer;
|
|
861
829
|
})();
|