@fraczak/k 3.0.2 → 4.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/BIG_PICTURE.md +42 -24
- package/Code-derivation-tests/blowup.mjs +27 -0
- package/Code-derivation-tests/bnat.mjs +4 -2
- package/Code-derivation-tests/built-in.mjs +1 -1
- package/Code-derivation-tests/dot.mjs +28 -3
- package/Code-derivation-tests/index.mjs +2 -2
- package/Code-derivation-tests/loop.mjs +1 -1
- package/Code-derivation-tests/nat.mjs +2 -2
- package/Code-derivation-tests/not-not.mjs +2 -2
- package/Code-derivation-tests/product.mjs +9 -5
- package/Code-derivation-tests/rlz.mjs +2 -2
- package/Code-derivation-tests/vector.mjs +7 -16
- package/Filters/bug.k +3 -0
- package/Filters/composing.k +15 -0
- package/Filters/filter.k +9 -0
- package/Graph.mjs +95 -0
- package/README.md +18 -15
- package/TYPING.md +365 -0
- package/codes.mjs +60 -8
- package/hash.mjs +6 -5
- package/index.mjs +11 -41
- package/k.mjs +1 -2
- package/package.json +1 -1
- package/parser.jison +22 -10
- package/parser.mjs +74 -65
- package/patterns.mjs +438 -527
- package/pretty.mjs +100 -23
- package/repl.mjs +124 -86
- package/run.mjs +13 -16
- package/symbol-table.mjs +44 -41
- package/test-filters.mjs +3 -3
- package/typing-test.mjs +40 -0
- package/typing.mjs +689 -0
- package/INTRO.md +0 -88
- package/TODO.md +0 -54
- package/bug.json +0 -419
- package/chatGPT.md +0 -235
- package/chatGPT.md~ +0 -119
- package/code-resolution.md +0 -121
- package/code-resolution.mjs +0 -51
- package/filters.mjs +0 -59
package/parser.mjs
CHANGED
|
@@ -75,7 +75,8 @@
|
|
|
75
75
|
|
|
76
76
|
|
|
77
77
|
|
|
78
|
-
import
|
|
78
|
+
import { SymbolTable, comp, union, identity } from "./symbol-table.mjs";
|
|
79
|
+
let s = new SymbolTable();
|
|
79
80
|
|
|
80
81
|
function getToken(yytext,yy,lstack) {
|
|
81
82
|
const yylloc = yy.lexer.yylloc;
|
|
@@ -110,18 +111,18 @@ function fromEscString(escString) {
|
|
|
110
111
|
|
|
111
112
|
|
|
112
113
|
var parser = (function(){
|
|
113
|
-
var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[4,6,8,10,12,14,16,30,38,40,
|
|
114
|
+
var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[4,6,8,10,12,14,16,30,38,40,62],$V1=[1,10],$V2=[1,25],$V3=[1,26],$V4=[1,23],$V5=[1,21],$V6=[1,22],$V7=[1,24],$V8=[1,27],$V9=[1,11],$Va=[1,28],$Vb=[1,20],$Vc=[1,31],$Vd=[4,6,8,10,12,14,16,30,38,40,47,59,62],$Ve=[2,67],$Vf=[1,35],$Vg=[4,6,8,10,12,14,16,18,20,22,24,30,32,34,38,40,47,59,62],$Vh=[2,88],$Vi=[1,55],$Vj=[2,70],$Vk=[2,71],$Vl=[4,6,8,10,12,14,16,18,20,22,24,30,32,34,36,38,40,47,59,62],$Vm=[4,6,8],$Vn=[2,27],$Vo=[4,6,8,10,12,14,16,18,20,22,24,26,30,32,34,38,40,47,59,62],$Vp=[2,32],$Vq=[1,80],$Vr=[1,82],$Vs=[20,32],$Vt=[4,6,8,10,12,14,16,30,38,40,59,62],$Vu=[1,87],$Vv=[1,91],$Vw=[18,22,32],$Vx=[1,94],$Vy=[2,49],$Vz=[2,50],$VA=[1,106],$VB=[18,20,32],$VC=[2,82],$VD=[2,83],$VE=[2,84],$VF=[18,20,24,32];
|
|
114
115
|
var parser = {trace: function trace () { },
|
|
115
116
|
yy: {},
|
|
116
|
-
symbols_: {"error":2,"name":3,"NAME":4,"str":5,"STRING":6,"int":7,"INT":8,"la":9,"LA":10,"lc":11,"LC":12,"lb":13,"LB":14,"lp":15,"LP":16,"ra":17,"RA":18,"rc":19,"RC":20,"rb":21,"RB":22,"rp":23,"RP":24,"eq":25,"EQ":26,"dots":27,"DOTS":28,"dot":29,"DOT":30,"comma":31,"COMMA":32,"sc":33,"SC":34,"col":35,"COL":36,"dollar":37,"DOLLAR":38,"qmark":39,"QMARK":40,"
|
|
117
|
-
terminals_: {2:"error",4:"NAME",6:"STRING",8:"INT",10:"LA",12:"LC",14:"LB",16:"LP",18:"RA",20:"RC",22:"RB",24:"RP",26:"EQ",28:"DOTS",30:"DOT",32:"COMMA",34:"SC",36:"COL",38:"DOLLAR",40:"QMARK",
|
|
118
|
-
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,
|
|
117
|
+
symbols_: {"error":2,"name":3,"NAME":4,"str":5,"STRING":6,"int":7,"INT":8,"la":9,"LA":10,"lc":11,"LC":12,"lb":13,"LB":14,"lp":15,"LP":16,"ra":17,"RA":18,"rc":19,"RC":20,"rb":21,"RB":22,"rp":23,"RP":24,"eq":25,"EQ":26,"dots":27,"DOTS":28,"dot":29,"DOT":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,"CARET":59,"labelled":60,"list":61,"PIPE":62,"non_empty_labelled":63,"comp_label":64,"non_empty_list":65,"$accept":0,"$end":1},
|
|
118
|
+
terminals_: {2:"error",4:"NAME",6:"STRING",8:"INT",10:"LA",12:"LC",14:"LB",16:"LP",18:"RA",20:"RC",22:"RB",24:"RP",26:"EQ",28:"DOTS",30:"DOT",32:"COMMA",34:"SC",36:"COL",38:"DOLLAR",40:"QMARK",42:"INCREMENTAL",47:"EOF",59:"CARET",62:"PIPE"},
|
|
119
|
+
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,3],[50,0],[50,1],[51,1],[51,3],[52,2],[52,2],[52,2],[52,3],[52,3],[52,3],[53,2],[53,3],[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,2],[57,3],[57,3],[57,3],[46,1],[46,2],[46,2],[58,3],[58,3],[58,3],[58,1],[58,2],[58,3],[58,1],[58,1],[58,2],[58,2],[58,2],[58,2],[58,2],[58,1],[60,0],[60,1],[63,1],[63,3],[64,2],[64,2],[64,2],[64,3],[64,3],[64,3],[61,0],[61,1],[65,1],[65,3]],
|
|
119
120
|
performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) {
|
|
120
121
|
/* this == yyval */
|
|
121
122
|
|
|
122
123
|
var $0 = $$.length - 1;
|
|
123
124
|
switch (yystate) {
|
|
124
|
-
case 1: 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:
|
|
125
|
+
case 1: 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:
|
|
125
126
|
this.$ = getToken(yytext,yy,_$);
|
|
126
127
|
break;
|
|
127
128
|
case 2:
|
|
@@ -130,7 +131,7 @@ break;
|
|
|
130
131
|
case 3:
|
|
131
132
|
this.$ = getToken(yytext,yy,_$); this.$.value = parseInt(this.$.value);
|
|
132
133
|
break;
|
|
133
|
-
case
|
|
134
|
+
case 21:
|
|
134
135
|
|
|
135
136
|
const result = {defs: {rels: s.rels, codes: s.codes}, exp: $$[$0-1]};
|
|
136
137
|
// console.log(JSON.stringify(result, "", 2));
|
|
@@ -138,73 +139,79 @@ case 20:
|
|
|
138
139
|
return result;
|
|
139
140
|
|
|
140
141
|
break;
|
|
141
|
-
case
|
|
142
|
+
case 22:
|
|
143
|
+
s = new SymbolTable();
|
|
144
|
+
break;
|
|
145
|
+
case 23: case 24:
|
|
142
146
|
|
|
143
147
|
break;
|
|
144
|
-
case
|
|
148
|
+
case 25:
|
|
145
149
|
s.add_rel($$[$0-3].value,$$[$0-1]);
|
|
146
150
|
break;
|
|
147
|
-
case
|
|
151
|
+
case 26:
|
|
148
152
|
s.add_code($$[$0-3].value,$$[$0-1]);
|
|
149
153
|
break;
|
|
150
|
-
case
|
|
154
|
+
case 27:
|
|
151
155
|
this.$ = { code: "ref", ref: $$[$0].value, start: $$[$0].start, end: $$[$0].end};
|
|
152
156
|
break;
|
|
153
|
-
case
|
|
157
|
+
case 28: case 47: case 61: case 79: case 89:
|
|
154
158
|
this.$ = $$[$0];
|
|
155
159
|
break;
|
|
156
|
-
case
|
|
160
|
+
case 29:
|
|
157
161
|
this.$ = { code: "product", product: $$[$0-1], start: $$[$0-2].start, end: $$[$0].end };
|
|
158
162
|
break;
|
|
159
|
-
case
|
|
163
|
+
case 30:
|
|
160
164
|
this.$ = { code: "vector", vector: s.as_ref($$[$0-1]), start: $$[$0-2].start, end: $$[$0].end };
|
|
161
165
|
break;
|
|
162
|
-
case
|
|
166
|
+
case 31:
|
|
163
167
|
this.$ = { code: "union", union: $$[$0-1], start: $$[$0-2].start, end: $$[$0].end };
|
|
164
168
|
break;
|
|
165
|
-
case
|
|
169
|
+
case 32:
|
|
166
170
|
this.$ = {};
|
|
167
171
|
break;
|
|
168
|
-
case
|
|
172
|
+
case 33:
|
|
169
173
|
this.$ = $$[$0].reduce((r, lc) => {
|
|
170
174
|
r[lc.label] = s.as_ref(lc.code);
|
|
171
175
|
return r }
|
|
172
176
|
, {});
|
|
173
177
|
break;
|
|
174
|
-
case
|
|
178
|
+
case 34: case 52: case 90:
|
|
175
179
|
this.$ = [$$[$0]];
|
|
176
180
|
break;
|
|
177
|
-
case
|
|
181
|
+
case 35: case 53: case 91:
|
|
178
182
|
this.$ = [].concat($$[$0-2],$$[$0]);
|
|
179
183
|
break;
|
|
180
|
-
case
|
|
184
|
+
case 36: case 37: case 38:
|
|
181
185
|
this.$ = {label: $$[$0].value, code: $$[$0-1]};
|
|
182
186
|
break;
|
|
183
|
-
case
|
|
187
|
+
case 39: case 40: case 41:
|
|
184
188
|
this.$ = {label: $$[$0-2].value, code: $$[$0]};
|
|
185
189
|
break;
|
|
186
|
-
case
|
|
187
|
-
this.$ = { type: "name", name: $$[$0].value, start: $$[$0].start, end: $$[$0].end};
|
|
188
|
-
break;
|
|
189
|
-
case 40:
|
|
190
|
+
case 42:
|
|
190
191
|
this.$ = { type: "code", code: s.as_ref($$[$0]), start: $$[$0-1].start, end: $$[$0].end};
|
|
191
192
|
break;
|
|
192
|
-
case
|
|
193
|
-
this.$ = { open: $$[$0-1].open, fields: $$[$0-1].fields, start: $$[$0-2].start, end: $$[$0].end};
|
|
193
|
+
case 43:
|
|
194
|
+
this.$ = { type: null, open: $$[$0-1].open, fields: $$[$0-1].fields, start: $$[$0-2].start, end: $$[$0].end};
|
|
194
195
|
break;
|
|
195
|
-
case
|
|
196
|
+
case 44:
|
|
196
197
|
this.$ = { type: "union", open: $$[$0-1].open, fields: $$[$0-1].fields, start: $$[$0-2].start, end: $$[$0].end};
|
|
197
198
|
break;
|
|
198
|
-
case
|
|
199
|
+
case 45:
|
|
199
200
|
this.$ = { type: "product", open: $$[$0-1].open, fields: $$[$0-1].fields, start: $$[$0-2].start, end: $$[$0].end};
|
|
200
201
|
break;
|
|
201
|
-
case
|
|
202
|
+
case 46:
|
|
202
203
|
this.$ = { type: "vector", vector: $$[$0-1], start: $$[$0-2].start, end: $$[$0].end };
|
|
203
204
|
break;
|
|
204
|
-
case
|
|
205
|
+
case 48:
|
|
206
|
+
this.$ = { name: $$[$0].value, ...$$[$0-2], start: $$[$0-2].start, end: $$[$0].end };
|
|
207
|
+
break;
|
|
208
|
+
case 49:
|
|
209
|
+
this.$ = { type: 'name', name: $$[$0].value, open: true, start: $$[$0].start, end: $$[$0].end};
|
|
210
|
+
break;
|
|
211
|
+
case 50:
|
|
205
212
|
this.$ = { fields: {}};
|
|
206
213
|
break;
|
|
207
|
-
case
|
|
214
|
+
case 51:
|
|
208
215
|
this.$ = $$[$0].reduce((r, lc) => {
|
|
209
216
|
if (lc.dots) {
|
|
210
217
|
r.open = true;
|
|
@@ -214,79 +221,79 @@ case 46:
|
|
|
214
221
|
return r }
|
|
215
222
|
, { fields: {} });
|
|
216
223
|
break;
|
|
217
|
-
case
|
|
224
|
+
case 54:
|
|
218
225
|
this.$ = {dots: true };
|
|
219
226
|
break;
|
|
220
|
-
case
|
|
227
|
+
case 55: case 56: case 57:
|
|
221
228
|
this.$ = {label: $$[$0].value, filter: $$[$0-1]};
|
|
222
229
|
break;
|
|
223
|
-
case
|
|
230
|
+
case 58: case 59: case 60:
|
|
224
231
|
this.$ = {label: $$[$0-2].value, filter: $$[$0]};
|
|
225
232
|
break;
|
|
226
|
-
case
|
|
227
|
-
this.$ = {...
|
|
233
|
+
case 62:
|
|
234
|
+
this.$ = {...comp($$[$0-1], $$[$0]), start: $$[$0-1].start, end:$$[$0].end};
|
|
228
235
|
break;
|
|
229
|
-
case
|
|
236
|
+
case 63:
|
|
230
237
|
this.$ = {op: 'caret', caret: $$[$0-1], start: $$[$0-1].start, end:$$[$0].end};
|
|
231
238
|
break;
|
|
232
|
-
case
|
|
239
|
+
case 64:
|
|
233
240
|
this.$ = {...$$[$0-1], start: $$[$0-2].start, end: $$[$0].end};
|
|
234
241
|
break;
|
|
235
|
-
case
|
|
242
|
+
case 65:
|
|
236
243
|
this.$ = {op: "vector", vector: $$[$0-1], start: $$[$0-2].start, end: $$[$0].end};
|
|
237
244
|
break;
|
|
238
|
-
case
|
|
239
|
-
this.$ = {...
|
|
245
|
+
case 66:
|
|
246
|
+
this.$ = {...union($$[$0-1]), start: $$[$0-2].start, end: $$[$0].end};
|
|
240
247
|
break;
|
|
241
|
-
case
|
|
248
|
+
case 67:
|
|
242
249
|
this.$ = {op: "ref", ref: $$[$0].value, start: $$[$0].start, end: $$[$0].end};
|
|
243
250
|
break;
|
|
244
|
-
case
|
|
245
|
-
this.$ = {...
|
|
251
|
+
case 68:
|
|
252
|
+
this.$ = {...identity, start: $$[$0-1].start, end: $$[$0].end};
|
|
246
253
|
break;
|
|
247
|
-
case
|
|
254
|
+
case 69:
|
|
248
255
|
this.$ = {...$$[$0-1], start: $$[$0-2].start, end: $$[$0].end };
|
|
249
256
|
break;
|
|
250
|
-
case
|
|
257
|
+
case 70:
|
|
251
258
|
this.$ = {op: "str", str: $$[$0].value, start: $$[$0].start, end: $$[$0].end };
|
|
252
259
|
break;
|
|
253
|
-
case
|
|
260
|
+
case 71:
|
|
254
261
|
this.$ = {op: "int", int: $$[$0].value, start: $$[$0].start, end: $$[$0].end };
|
|
255
262
|
break;
|
|
256
|
-
case
|
|
263
|
+
case 72: case 73: case 74:
|
|
257
264
|
this.$ = {op: "dot", dot: $$[$0].value, start: $$[$0-1].start, end: $$[$0].end };
|
|
258
265
|
break;
|
|
259
|
-
case
|
|
266
|
+
case 75:
|
|
260
267
|
this.$ = {op: "code", code: s.as_ref($$[$0]), start: $$[$0-1].start, end: $$[$0].end};
|
|
261
268
|
break;
|
|
262
|
-
case
|
|
269
|
+
case 76:
|
|
263
270
|
this.$ = {op: "filter", filter: $$[$0], start: $$[$0-1].start, end:$$[$0].end};
|
|
264
271
|
break;
|
|
265
|
-
case
|
|
272
|
+
case 77:
|
|
266
273
|
this.$ = {op: "pipe", start: $$[$0].start, end: $$[$0].end};
|
|
267
274
|
break;
|
|
268
|
-
case
|
|
275
|
+
case 78:
|
|
269
276
|
this.$ = {op: "product", product: []};
|
|
270
277
|
break;
|
|
271
|
-
case
|
|
278
|
+
case 80:
|
|
272
279
|
this.$ = {op: "product", product: [$$[$0]]};
|
|
273
280
|
break;
|
|
274
|
-
case
|
|
281
|
+
case 81:
|
|
275
282
|
$$[$0-2].product = [].concat($$[$0-2].product,$$[$0]); this.$ = $$[$0-2];
|
|
276
283
|
break;
|
|
277
|
-
case
|
|
284
|
+
case 82: case 83: case 84:
|
|
278
285
|
this.$ = {label: $$[$0].value, exp: $$[$0-1]};
|
|
279
286
|
break;
|
|
280
|
-
case
|
|
287
|
+
case 85: case 86: case 87:
|
|
281
288
|
this.$ = {label: $$[$0-2].value, exp: $$[$0]};
|
|
282
289
|
break;
|
|
283
|
-
case
|
|
290
|
+
case 88:
|
|
284
291
|
this.$ = [];
|
|
285
292
|
break;
|
|
286
293
|
}
|
|
287
294
|
},
|
|
288
|
-
table: [o($V0,[2,
|
|
289
|
-
defaultActions: {
|
|
295
|
+
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]),{3:7,4:$V1,5:16,6:$V2,7:17,8:$V3,9:14,10:$V4,11:12,12:$V5,13:13,14:$V6,15:15,16:$V7,29:18,30:$V8,37:8,38:$V9,39:19,40:$Va,46:6,58:9,62:$Vb},{3:32,4:$V1,5:16,6:$V2,7:17,8:$V3,9:14,10:$V4,11:12,12:$V5,13:13,14:$V6,15:15,16:$V7,29:18,30:$V8,37:33,38:$V9,39:19,40:$Va,47:[1,29],58:30,59:$Vc,62:$Vb},o($Vd,$Ve,{25:34,26:$Vf}),{3:36,4:$V1,9:41,10:$V4,11:39,12:$V5,13:40,14:$V6,48:38,49:37},o($Vg,[2,61]),o([4,6,8,10,12,14,16,18,20,22,24,26,30,32,34,36,38,40,47,59,62],[2,1]),o([4,10,12,14],[2,18]),{3:46,4:$V1,5:47,6:$V2,7:48,8:$V3,9:14,10:$V4,11:12,12:$V5,13:13,14:$V6,15:15,16:$V7,20:[2,78],29:18,30:$V8,37:33,38:$V9,39:19,40:$Va,46:45,58:9,60:42,62:$Vb,63:43,64:44},{3:32,4:$V1,5:16,6:$V2,7:17,8:$V3,9:14,10:$V4,11:12,12:$V5,13:13,14:$V6,15:15,16:$V7,22:$Vh,29:18,30:$V8,37:33,38:$V9,39:19,40:$Va,46:51,58:9,61:49,62:$Vb,65:50},{3:32,4:$V1,5:16,6:$V2,7:17,8:$V3,9:14,10:$V4,11:12,12:$V5,13:13,14:$V6,15:15,16:$V7,18:$Vh,29:18,30:$V8,37:33,38:$V9,39:19,40:$Va,46:51,58:9,61:52,62:$Vb,65:50},{3:32,4:$V1,5:16,6:$V2,7:17,8:$V3,9:14,10:$V4,11:12,12:$V5,13:13,14:$V6,15:15,16:$V7,23:53,24:$Vi,29:18,30:$V8,37:33,38:$V9,39:19,40:$Va,46:54,58:9,62:$Vb},o($Vg,$Vj),o($Vg,$Vk),{3:58,4:$V1,5:57,6:$V2,7:56,8:$V3},{3:61,4:$V1,9:64,10:$V4,11:65,12:$V5,13:66,14:$V6,15:63,16:$V7,37:62,38:$V9,53:60,55:59},o($Vg,[2,77]),o([4,6,8,10,12,14,16,20,28,30,38,40,62],[2,5]),o([4,6,8,10,12,14,16,22,30,38,40,62],[2,6]),o([4,6,8,10,12,14,16,18,28,30,38,40,62],[2,4]),o([4,6,8,10,12,14,16,24,28,30,38,40,62],[2,7]),o($Vl,[2,2]),o($Vl,[2,3]),o($Vm,[2,14]),o([4,10,12,14,16,38],[2,19]),{1:[2,21]},o($Vg,[2,62]),o($Vg,[2,63]),o($Vg,$Ve),{3:67,4:$V1,9:41,10:$V4,11:39,12:$V5,13:40,14:$V6,48:38,49:37},{3:32,4:$V1,5:16,6:$V2,7:17,8:$V3,9:14,10:$V4,11:12,12:$V5,13:13,14:$V6,15:15,16:$V7,29:18,30:$V8,37:33,38:$V9,39:19,40:$Va,46:68,58:9,62:$Vb},o($V0,[2,12]),o($Vd,$Vn,{25:69,26:$Vf}),o($Vg,[2,75]),o($Vo,[2,28]),{3:74,4:$V1,5:75,6:$V2,7:76,8:$V3,9:41,10:$V4,11:39,12:$V5,13:40,14:$V6,20:$Vp,48:38,49:73,50:70,51:71,52:72},{3:67,4:$V1,9:41,10:$V4,11:39,12:$V5,13:40,14:$V6,48:38,49:77},{3:74,4:$V1,5:75,6:$V2,7:76,8:$V3,9:41,10:$V4,11:39,12:$V5,13:40,14:$V6,18:$Vp,48:38,49:73,50:78,51:71,52:72},{19:79,20:$Vq},{20:[2,79],31:81,32:$Vr},o($Vs,[2,80]),{3:83,4:$V1,5:84,6:$V2,7:85,8:$V3,9:14,10:$V4,11:12,12:$V5,13:13,14:$V6,15:15,16:$V7,29:18,30:$V8,37:33,38:$V9,39:19,40:$Va,58:30,59:$Vc,62:$Vb},o($Vt,$Ve,{35:86,36:$Vu}),o($Vt,$Vj,{35:88,36:$Vu}),o($Vt,$Vk,{35:89,36:$Vu}),{21:90,22:$Vv},o([18,22],[2,89],{31:92,32:$Vr}),o($Vw,[2,90],{11:12,13:13,9:14,15:15,5:16,7:17,29:18,39:19,58:30,3:32,37:33,4:$V1,6:$V2,8:$V3,10:$V4,12:$V5,14:$V6,16:$V7,30:$V8,38:$V9,40:$Va,59:$Vc,62:$Vb}),{17:93,18:$Vx},o($Vg,[2,68]),{3:32,4:$V1,5:16,6:$V2,7:17,8:$V3,9:14,10:$V4,11:12,12:$V5,13:13,14:$V6,15:15,16:$V7,23:95,24:$Vi,29:18,30:$V8,37:33,38:$V9,39:19,40:$Va,58:30,59:$Vc,62:$Vb},o($Vo,[2,11]),o($Vg,[2,72]),o($Vg,[2,73]),o($Vg,[2,74]),o($Vg,[2,76]),o($Vg,[2,47],{26:[1,96]}),o($Vg,$Vy),{3:67,4:$V1,9:41,10:$V4,11:39,12:$V5,13:40,14:$V6,48:38,49:97},{3:103,4:$V1,5:104,6:$V2,7:105,8:$V3,9:64,10:$V4,11:65,12:$V5,13:66,14:$V6,15:63,16:$V7,24:$Vz,27:101,28:$VA,37:62,38:$V9,53:60,54:98,55:102,56:99,57:100},{3:103,4:$V1,5:104,6:$V2,7:105,8:$V3,9:64,10:$V4,11:65,12:$V5,13:66,14:$V6,15:63,16:$V7,18:$Vz,27:101,28:$VA,37:62,38:$V9,53:60,54:107,55:102,56:99,57:100},{3:103,4:$V1,5:104,6:$V2,7:105,8:$V3,9:64,10:$V4,11:65,12:$V5,13:66,14:$V6,15:63,16:$V7,20:$Vz,27:101,28:$VA,37:62,38:$V9,53:60,54:108,55:102,56:99,57:100},{3:61,4:$V1,9:64,10:$V4,11:65,12:$V5,13:66,14:$V6,15:63,16:$V7,37:62,38:$V9,53:60,55:109},o($Vo,$Vn),{3:32,4:$V1,5:16,6:$V2,7:17,8:$V3,9:14,10:$V4,11:12,12:$V5,13:13,14:$V6,15:15,16:$V7,29:18,30:$V8,33:110,34:[1,111],37:33,38:$V9,39:19,40:$Va,58:30,59:$Vc,62:$Vb},{9:41,10:$V4,11:39,12:$V5,13:40,14:$V6,48:112},{19:113,20:$Vq},o([18,20],[2,33],{31:114,32:$Vr}),o($VB,[2,34]),{3:115,4:$V1,5:116,6:$V2,7:117,8:$V3},o($Vm,$Vn,{35:118,36:$Vu}),{35:119,36:$Vu},{35:120,36:$Vu},{21:121,22:$Vv},{17:122,18:$Vx},o($Vg,[2,64]),o($Vo,[2,9]),{3:46,4:$V1,5:47,6:$V2,7:48,8:$V3,9:14,10:$V4,11:12,12:$V5,13:13,14:$V6,15:15,16:$V7,29:18,30:$V8,37:33,38:$V9,39:19,40:$Va,46:45,58:9,62:$Vb,64:123},o([4,6,8,10,12,14,16,28,30,38,40,62],[2,15]),o($Vt,$Ve,{20:$VC,32:$VC}),o($Vt,$Vj,{20:$VD,32:$VD}),o($Vt,$Vk,{20:$VE,32:$VE}),{3:32,4:$V1,5:16,6:$V2,7:17,8:$V3,9:14,10:$V4,11:12,12:$V5,13:13,14:$V6,15:15,16:$V7,29:18,30:$V8,37:33,38:$V9,39:19,40:$Va,46:124,58:9,62:$Vb},o($V0,[2,17]),{3:32,4:$V1,5:16,6:$V2,7:17,8:$V3,9:14,10:$V4,11:12,12:$V5,13:13,14:$V6,15:15,16:$V7,29:18,30:$V8,37:33,38:$V9,39:19,40:$Va,46:125,58:9,62:$Vb},{3:32,4:$V1,5:16,6:$V2,7:17,8:$V3,9:14,10:$V4,11:12,12:$V5,13:13,14:$V6,15:15,16:$V7,29:18,30:$V8,37:33,38:$V9,39:19,40:$Va,46:126,58:9,62:$Vb},o($Vg,[2,65]),o($Vo,[2,10]),{3:32,4:$V1,5:16,6:$V2,7:17,8:$V3,9:14,10:$V4,11:12,12:$V5,13:13,14:$V6,15:15,16:$V7,29:18,30:$V8,37:33,38:$V9,39:19,40:$Va,46:127,58:9,62:$Vb},o($Vg,[2,66]),o($Vo,[2,8]),o($Vg,[2,69]),{3:128,4:$V1},o($Vo,[2,42]),{23:129,24:$Vi},o([18,20,24],[2,51],{31:130,32:$Vr}),o($VF,[2,52]),o($VF,[2,54]),{3:131,4:$V1,5:132,6:$V2,7:133,8:$V3},o($Vm,$Vy,{35:134,36:$Vu}),{35:135,36:$Vu},{35:136,36:$Vu},o($VF,[2,13]),{17:137,18:$Vx},{19:138,20:$Vq},{21:139,22:$Vv},o($V0,[2,25]),o($V0,[2,16]),{34:[1,140]},o($Vo,[2,29]),{3:74,4:$V1,5:75,6:$V2,7:76,8:$V3,9:41,10:$V4,11:39,12:$V5,13:40,14:$V6,48:38,49:73,52:141},o($VB,[2,36]),o($VB,[2,37]),o($VB,[2,38]),{3:67,4:$V1,9:41,10:$V4,11:39,12:$V5,13:40,14:$V6,48:38,49:142},{3:67,4:$V1,9:41,10:$V4,11:39,12:$V5,13:40,14:$V6,48:38,49:143},{3:67,4:$V1,9:41,10:$V4,11:39,12:$V5,13:40,14:$V6,48:38,49:144},o($Vo,[2,30]),o($Vo,[2,31]),o($Vs,[2,81]),o($Vs,[2,85],{11:12,13:13,9:14,15:15,5:16,7:17,29:18,39:19,58:30,3:32,37:33,4:$V1,6:$V2,8:$V3,10:$V4,12:$V5,14:$V6,16:$V7,30:$V8,38:$V9,40:$Va,59:$Vc,62:$Vb}),o($Vs,[2,86],{11:12,13:13,9:14,15:15,5:16,7:17,29:18,39:19,58:30,3:32,37:33,4:$V1,6:$V2,8:$V3,10:$V4,12:$V5,14:$V6,16:$V7,30:$V8,38:$V9,40:$Va,59:$Vc,62:$Vb}),o($Vs,[2,87],{11:12,13:13,9:14,15:15,5:16,7:17,29:18,39:19,58:30,3:32,37:33,4:$V1,6:$V2,8:$V3,10:$V4,12:$V5,14:$V6,16:$V7,30:$V8,38:$V9,40:$Va,59:$Vc,62:$Vb}),o($Vw,[2,91],{11:12,13:13,9:14,15:15,5:16,7:17,29:18,39:19,58:30,3:32,37:33,4:$V1,6:$V2,8:$V3,10:$V4,12:$V5,14:$V6,16:$V7,30:$V8,38:$V9,40:$Va,59:$Vc,62:$Vb}),o($Vg,[2,48]),o($Vo,[2,43]),{3:103,4:$V1,5:104,6:$V2,7:105,8:$V3,9:64,10:$V4,11:65,12:$V5,13:66,14:$V6,15:63,16:$V7,27:101,28:$VA,37:62,38:$V9,53:60,55:102,57:145},o($VF,[2,55]),o($VF,[2,56]),o($VF,[2,57]),{3:61,4:$V1,9:64,10:$V4,11:65,12:$V5,13:66,14:$V6,15:63,16:$V7,37:62,38:$V9,53:60,55:146},{3:61,4:$V1,9:64,10:$V4,11:65,12:$V5,13:66,14:$V6,15:63,16:$V7,37:62,38:$V9,53:60,55:147},{3:61,4:$V1,9:64,10:$V4,11:65,12:$V5,13:66,14:$V6,15:63,16:$V7,37:62,38:$V9,53:60,55:148},o($Vo,[2,44]),o($Vo,[2,45]),o($Vo,[2,46]),o($V0,[2,26]),o($VB,[2,35]),o($VB,[2,39]),o($VB,[2,40]),o($VB,[2,41]),o($VF,[2,53]),o($VF,[2,58]),o($VF,[2,59]),o($VF,[2,60])],
|
|
296
|
+
defaultActions: {29:[2,21]},
|
|
290
297
|
parseError: function parseError (str, hash) {
|
|
291
298
|
if (hash.recoverable) {
|
|
292
299
|
this.trace(str);
|
|
@@ -798,9 +805,9 @@ case 17:return 38;
|
|
|
798
805
|
break;
|
|
799
806
|
case 18:return 40;
|
|
800
807
|
break;
|
|
801
|
-
case 19:return
|
|
808
|
+
case 19:return 62;
|
|
802
809
|
break;
|
|
803
|
-
case 20:return
|
|
810
|
+
case 20:return 59;
|
|
804
811
|
break;
|
|
805
812
|
case 21:return 6;
|
|
806
813
|
break;
|
|
@@ -808,12 +815,14 @@ case 22:return 4;
|
|
|
808
815
|
break;
|
|
809
816
|
case 23:return 8;
|
|
810
817
|
break;
|
|
811
|
-
case 24:return
|
|
818
|
+
case 24:return 42;
|
|
819
|
+
break;
|
|
820
|
+
case 25:return 47;
|
|
812
821
|
break;
|
|
813
822
|
}
|
|
814
823
|
},
|
|
815
|
-
rules: [/^(?:[/][*]([*][^/]|[^*])*[*][/])/,/^(?:(\/\/|#|%|--)[^\n]*)/,/^(?:\s+)/,/^(?:<)/,/^(?:\{)/,/^(?:\[)/,/^(?:\()/,/^(?:>)/,/^(?:\})/,/^(?:\])/,/^(?:\))/,/^(?:=)/,/^(?:\.\.\.)/,/^(?:\.)/,/^(?:,)/,/^(?:;)/,/^(?::)/,/^(?:\$)/,/^(?:\?)/,/^(?:\|)/,/^(?:\^)/,/^(?:"([^"\\]|\\(.|\n))*"|'([^'\\]|\\(.|\n))*')/,/^(?:[a-zA-Z_][a-zA-Z0-9_?!]*)/,/^(?:0|[-]?[1-9][0-9]*)/,/^(?:$)/],
|
|
816
|
-
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,24],"inclusive":true}}
|
|
824
|
+
rules: [/^(?:[/][*]([*][^/]|[^*])*[*][/])/,/^(?:(\/\/|#|%|--)[^\n]*)/,/^(?:\s+)/,/^(?:<)/,/^(?:\{)/,/^(?:\[)/,/^(?:\()/,/^(?:>)/,/^(?:\})/,/^(?:\])/,/^(?:\))/,/^(?:=)/,/^(?:\.\.\.)/,/^(?:\.)/,/^(?:,)/,/^(?:;)/,/^(?::)/,/^(?:\$)/,/^(?:\?)/,/^(?:\|)/,/^(?:\^)/,/^(?:"([^"\\]|\\(.|\n))*"|'([^'\\]|\\(.|\n))*')/,/^(?:[a-zA-Z_][a-zA-Z0-9_?!]*)/,/^(?:0|[-]?[1-9][0-9]*)/,/^(?:\+\+\+)/,/^(?:$)/],
|
|
825
|
+
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,24,25],"inclusive":true}}
|
|
817
826
|
});
|
|
818
827
|
return lexer;
|
|
819
828
|
})();
|