grammar-well 1.1.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.
Files changed (117) hide show
  1. package/.eslintrc.cjs +14 -0
  2. package/README.md +288 -0
  3. package/bootstrap.ts +35 -0
  4. package/build/compiler/compiler.d.ts +48 -0
  5. package/build/compiler/compiler.js +227 -0
  6. package/build/compiler/compiler.js.map +1 -0
  7. package/build/compiler/generator.d.ts +23 -0
  8. package/build/compiler/generator.js +213 -0
  9. package/build/compiler/generator.js.map +1 -0
  10. package/build/compiler/import-resolver.d.ts +15 -0
  11. package/build/compiler/import-resolver.js +37 -0
  12. package/build/compiler/import-resolver.js.map +1 -0
  13. package/build/compiler/outputs/javascript.d.ts +3 -0
  14. package/build/compiler/outputs/javascript.js +29 -0
  15. package/build/compiler/outputs/javascript.js.map +1 -0
  16. package/build/compiler/outputs/json.d.ts +2 -0
  17. package/build/compiler/outputs/json.js +8 -0
  18. package/build/compiler/outputs/json.js.map +1 -0
  19. package/build/compiler/outputs/typescript.d.ts +2 -0
  20. package/build/compiler/outputs/typescript.js +108 -0
  21. package/build/compiler/outputs/typescript.js.map +1 -0
  22. package/build/grammars/gwell.d.ts +997 -0
  23. package/build/grammars/gwell.js +537 -0
  24. package/build/grammars/gwell.js.map +1 -0
  25. package/build/grammars/json.d.ts +151 -0
  26. package/build/grammars/json.js +112 -0
  27. package/build/grammars/json.js.map +1 -0
  28. package/build/grammars/number.d.ts +239 -0
  29. package/build/grammars/number.js +115 -0
  30. package/build/grammars/number.js.map +1 -0
  31. package/build/grammars/number.json +1 -0
  32. package/build/grammars/string.d.ts +116 -0
  33. package/build/grammars/string.js +50 -0
  34. package/build/grammars/string.js.map +1 -0
  35. package/build/grammars/string.json +1 -0
  36. package/build/grammars/whitespace.d.ts +51 -0
  37. package/build/grammars/whitespace.js +30 -0
  38. package/build/grammars/whitespace.js.map +1 -0
  39. package/build/grammars/whitespace.json +1 -0
  40. package/build/index.d.ts +4 -0
  41. package/build/index.js +21 -0
  42. package/build/index.js.map +1 -0
  43. package/build/lexers/character-lexer.d.ts +27 -0
  44. package/build/lexers/character-lexer.js +71 -0
  45. package/build/lexers/character-lexer.js.map +1 -0
  46. package/build/lexers/stateful-lexer.d.ts +48 -0
  47. package/build/lexers/stateful-lexer.js +309 -0
  48. package/build/lexers/stateful-lexer.js.map +1 -0
  49. package/build/lexers/token-buffer.d.ts +32 -0
  50. package/build/lexers/token-buffer.js +92 -0
  51. package/build/lexers/token-buffer.js.map +1 -0
  52. package/build/parser/algorithms/cyk.d.ts +16 -0
  53. package/build/parser/algorithms/cyk.js +58 -0
  54. package/build/parser/algorithms/cyk.js.map +1 -0
  55. package/build/parser/algorithms/earley.d.ts +48 -0
  56. package/build/parser/algorithms/earley.js +158 -0
  57. package/build/parser/algorithms/earley.js.map +1 -0
  58. package/build/parser/algorithms/lr.d.ts +10 -0
  59. package/build/parser/algorithms/lr.js +34 -0
  60. package/build/parser/algorithms/lr.js.map +1 -0
  61. package/build/parser/parser.d.ts +26 -0
  62. package/build/parser/parser.js +74 -0
  63. package/build/parser/parser.js.map +1 -0
  64. package/build/typings.d.ts +198 -0
  65. package/build/typings.js +3 -0
  66. package/build/typings.js.map +1 -0
  67. package/build/utility/general.d.ts +46 -0
  68. package/build/utility/general.js +112 -0
  69. package/build/utility/general.js.map +1 -0
  70. package/build/utility/lint.d.ts +2 -0
  71. package/build/utility/lint.js +28 -0
  72. package/build/utility/lint.js.map +1 -0
  73. package/build/utility/lr.d.ts +56 -0
  74. package/build/utility/lr.js +131 -0
  75. package/build/utility/lr.js.map +1 -0
  76. package/build/utility/text-format.d.ts +11 -0
  77. package/build/utility/text-format.js +84 -0
  78. package/build/utility/text-format.js.map +1 -0
  79. package/licenses/LICENSE.txt +165 -0
  80. package/licenses/moo.license +29 -0
  81. package/licenses/nearley.license +21 -0
  82. package/package.json +52 -0
  83. package/src/compiler/compiler.ts +239 -0
  84. package/src/compiler/generator.ts +229 -0
  85. package/src/compiler/import-resolver.ts +36 -0
  86. package/src/compiler/outputs/javascript.ts +27 -0
  87. package/src/compiler/outputs/json.ts +5 -0
  88. package/src/compiler/outputs/typescript.ts +105 -0
  89. package/src/grammars/gwell.gwell +278 -0
  90. package/src/grammars/gwell.js +539 -0
  91. package/src/grammars/gwell.json +1 -0
  92. package/src/grammars/json.gwell +75 -0
  93. package/src/grammars/json.js +121 -0
  94. package/src/grammars/json.json +1 -0
  95. package/src/grammars/number.gwell +20 -0
  96. package/src/grammars/number.js +117 -0
  97. package/src/grammars/number.json +1 -0
  98. package/src/grammars/string.gwell +15 -0
  99. package/src/grammars/string.js +52 -0
  100. package/src/grammars/string.json +1 -0
  101. package/src/grammars/whitespace.gwell +6 -0
  102. package/src/grammars/whitespace.js +32 -0
  103. package/src/grammars/whitespace.json +1 -0
  104. package/src/index.ts +4 -0
  105. package/src/lexers/character-lexer.ts +73 -0
  106. package/src/lexers/stateful-lexer.ts +335 -0
  107. package/src/lexers/token-buffer.ts +102 -0
  108. package/src/parser/algorithms/cyk.ts +74 -0
  109. package/src/parser/algorithms/earley.ts +193 -0
  110. package/src/parser/algorithms/lr.ts +37 -0
  111. package/src/parser/parser.ts +77 -0
  112. package/src/typings.ts +221 -0
  113. package/src/utility/general.ts +120 -0
  114. package/src/utility/lint.ts +26 -0
  115. package/src/utility/lr.ts +153 -0
  116. package/src/utility/text-format.ts +84 -0
  117. package/testing.ts +18 -0
@@ -0,0 +1,997 @@
1
+ export default GWLanguage;
2
+ declare function GWLanguage(): {
3
+ grammar: {
4
+ start: string;
5
+ rules: {
6
+ main: {
7
+ name: string;
8
+ symbols: string[];
9
+ postprocess: ({ data }: {
10
+ data: any;
11
+ }) => any;
12
+ }[];
13
+ section_list: {
14
+ name: string;
15
+ symbols: string[];
16
+ postprocess: ({ data }: {
17
+ data: any;
18
+ }) => any[];
19
+ }[];
20
+ section: ({
21
+ name: string;
22
+ symbols: string[];
23
+ postprocess: ({ data }: {
24
+ data: any;
25
+ }) => {
26
+ config: any;
27
+ };
28
+ } | {
29
+ name: string;
30
+ symbols: string[];
31
+ postprocess: ({ data }: {
32
+ data: any;
33
+ }) => {
34
+ import: any;
35
+ };
36
+ } | {
37
+ name: string;
38
+ symbols: string[];
39
+ postprocess: ({ data }: {
40
+ data: any;
41
+ }) => {
42
+ lexer: any;
43
+ };
44
+ } | {
45
+ name: string;
46
+ symbols: string[];
47
+ postprocess: ({ data }: {
48
+ data: any;
49
+ }) => {
50
+ grammar: any;
51
+ };
52
+ } | {
53
+ name: string;
54
+ symbols: string[];
55
+ postprocess: ({ data }: {
56
+ data: any;
57
+ }) => {
58
+ body: any;
59
+ };
60
+ } | {
61
+ name: string;
62
+ symbols: string[];
63
+ postprocess: ({ data }: {
64
+ data: any;
65
+ }) => {
66
+ head: any;
67
+ };
68
+ })[];
69
+ lexer: {
70
+ name: string;
71
+ symbols: string[];
72
+ postprocess: ({ data }: {
73
+ data: any;
74
+ }) => any;
75
+ }[];
76
+ state_list: {
77
+ name: string;
78
+ symbols: string[];
79
+ postprocess: ({ data }: {
80
+ data: any;
81
+ }) => any;
82
+ }[];
83
+ state: {
84
+ name: string;
85
+ symbols: string[];
86
+ postprocess: ({ data }: {
87
+ data: any;
88
+ }) => any;
89
+ }[];
90
+ state_declare: {
91
+ name: string;
92
+ symbols: string[];
93
+ postprocess: ({ data }: {
94
+ data: any;
95
+ }) => any;
96
+ }[];
97
+ state_definition: {
98
+ name: string;
99
+ symbols: string[];
100
+ postprocess: ({ data }: {
101
+ data: any;
102
+ }) => any;
103
+ }[];
104
+ token_list: {
105
+ name: string;
106
+ symbols: string[];
107
+ postprocess: ({ data }: {
108
+ data: any;
109
+ }) => any;
110
+ }[];
111
+ token: {
112
+ name: string;
113
+ symbols: string[];
114
+ postprocess: ({ data }: {
115
+ data: any;
116
+ }) => any;
117
+ }[];
118
+ token_definition_list: {
119
+ name: string;
120
+ symbols: string[];
121
+ postprocess: ({ data }: {
122
+ data: any;
123
+ }) => any;
124
+ }[];
125
+ token_definition: ({
126
+ name: string;
127
+ symbols: string[];
128
+ postprocess: ({ data }: {
129
+ data: any;
130
+ }) => {
131
+ tag: any;
132
+ };
133
+ } | {
134
+ name: string;
135
+ symbols: string[];
136
+ postprocess: ({ data }: {
137
+ data: any;
138
+ }) => {
139
+ when: any;
140
+ };
141
+ } | {
142
+ name: string;
143
+ symbols: string[];
144
+ postprocess: ({ data }: {
145
+ data: any;
146
+ }) => {
147
+ pop: number;
148
+ };
149
+ } | {
150
+ name: string;
151
+ symbols: string[];
152
+ postprocess: ({ data }: {
153
+ data: any;
154
+ }) => {
155
+ pop: string;
156
+ };
157
+ } | {
158
+ name: string;
159
+ symbols: string[];
160
+ postprocess: ({ data }: {
161
+ data: any;
162
+ }) => {
163
+ inset: number;
164
+ };
165
+ } | {
166
+ name: string;
167
+ symbols: string[];
168
+ postprocess: ({ data }: {
169
+ data: any;
170
+ }) => {
171
+ set: any;
172
+ };
173
+ } | {
174
+ name: string;
175
+ symbols: string[];
176
+ postprocess: ({ data }: {
177
+ data: any;
178
+ }) => {
179
+ goto: any;
180
+ };
181
+ } | {
182
+ name: string;
183
+ symbols: string[];
184
+ postprocess: ({ data }: {
185
+ data: any;
186
+ }) => {
187
+ type: any;
188
+ };
189
+ })[];
190
+ grammar: {
191
+ name: string;
192
+ symbols: string[];
193
+ postprocess: ({ data }: {
194
+ data: any;
195
+ }) => {
196
+ rules: any;
197
+ };
198
+ }[];
199
+ grammar_rule_list: {
200
+ name: string;
201
+ symbols: string[];
202
+ postprocess: ({ data }: {
203
+ data: any;
204
+ }) => any[];
205
+ }[];
206
+ grammar_rule: {
207
+ name: string;
208
+ symbols: string[];
209
+ postprocess: ({ data }: {
210
+ data: any;
211
+ }) => {
212
+ name: any;
213
+ expressions: any;
214
+ };
215
+ }[];
216
+ expression_list: ({
217
+ name: string;
218
+ symbols: string[];
219
+ postprocess?: undefined;
220
+ } | {
221
+ name: string;
222
+ symbols: string[];
223
+ postprocess: ({ data }: {
224
+ data: any;
225
+ }) => any;
226
+ })[];
227
+ expression: {
228
+ name: string;
229
+ symbols: string[];
230
+ postprocess: ({ data }: {
231
+ data: any;
232
+ }) => {
233
+ symbols: any;
234
+ };
235
+ }[];
236
+ expression_symbol_list: ({
237
+ name: string;
238
+ symbols: string[];
239
+ postprocess?: undefined;
240
+ } | {
241
+ name: string;
242
+ symbols: string[];
243
+ postprocess: ({ data }: {
244
+ data: any;
245
+ }) => any;
246
+ })[];
247
+ expression_symbol: {
248
+ name: string;
249
+ symbols: string[];
250
+ postprocess: ({ data }: {
251
+ data: any;
252
+ }) => any;
253
+ }[];
254
+ expression_symbol_match: {
255
+ name: string;
256
+ symbols: string[];
257
+ postprocess: ({ data }: {
258
+ data: any;
259
+ }) => any;
260
+ }[];
261
+ expression_symbol_match$RPT01x1: {
262
+ name: string;
263
+ symbols: {
264
+ literal: string;
265
+ }[];
266
+ postprocess: ({ data }: {
267
+ data: any;
268
+ }) => any;
269
+ }[];
270
+ expression_repeater: {
271
+ name: string;
272
+ symbols: string[];
273
+ postprocess: ({ data }: {
274
+ data: any;
275
+ }) => any;
276
+ }[];
277
+ kv_list: {
278
+ name: string;
279
+ symbols: string[];
280
+ postprocess: ({ data }: {
281
+ data: any;
282
+ }) => any;
283
+ }[];
284
+ kv$SUBx1: {
285
+ name: string;
286
+ symbols: string[];
287
+ }[];
288
+ kv: {
289
+ name: string;
290
+ symbols: string[];
291
+ postprocess: ({ data }: {
292
+ data: any;
293
+ }) => {
294
+ [x: number]: any;
295
+ };
296
+ }[];
297
+ string_list: {
298
+ name: string;
299
+ symbols: string[];
300
+ postprocess: ({ data }: {
301
+ data: any;
302
+ }) => any[];
303
+ }[];
304
+ word_list: {
305
+ name: string;
306
+ symbols: string[];
307
+ postprocess: ({ data }: {
308
+ data: any;
309
+ }) => any[];
310
+ }[];
311
+ _$RPT01x1: {
312
+ name: string;
313
+ symbols: string[];
314
+ postprocess: ({ data }: {
315
+ data: any;
316
+ }) => any;
317
+ }[];
318
+ _: {
319
+ name: string;
320
+ symbols: string[];
321
+ postprocess: ({ data }: {
322
+ data: any;
323
+ }) => any;
324
+ }[];
325
+ __$RPT1Nx1: ({
326
+ name: string;
327
+ symbols: string[];
328
+ postprocess?: undefined;
329
+ } | {
330
+ name: string;
331
+ symbols: string[];
332
+ postprocess: ({ data }: {
333
+ data: any;
334
+ }) => any;
335
+ })[];
336
+ __: {
337
+ name: string;
338
+ symbols: string[];
339
+ postprocess: ({ data }: {
340
+ data: any;
341
+ }) => any;
342
+ }[];
343
+ L_COLON: {
344
+ name: string;
345
+ symbols: {
346
+ token: string;
347
+ }[];
348
+ }[];
349
+ L_SCOLON: {
350
+ name: string;
351
+ symbols: {
352
+ token: string;
353
+ }[];
354
+ }[];
355
+ L_QMARK: {
356
+ name: string;
357
+ symbols: {
358
+ token: string;
359
+ }[];
360
+ }[];
361
+ L_PLUS: {
362
+ name: string;
363
+ symbols: {
364
+ token: string;
365
+ }[];
366
+ }[];
367
+ L_STAR: {
368
+ name: string;
369
+ symbols: {
370
+ token: string;
371
+ }[];
372
+ }[];
373
+ L_COMMA: {
374
+ name: string;
375
+ symbols: {
376
+ token: string;
377
+ }[];
378
+ }[];
379
+ L_PIPE: {
380
+ name: string;
381
+ symbols: {
382
+ token: string;
383
+ }[];
384
+ }[];
385
+ L_PARENL: {
386
+ name: string;
387
+ symbols: {
388
+ token: string;
389
+ }[];
390
+ }[];
391
+ L_PARENR: {
392
+ name: string;
393
+ symbols: {
394
+ token: string;
395
+ }[];
396
+ }[];
397
+ L_TEMPLATEL: {
398
+ name: string;
399
+ symbols: {
400
+ token: string;
401
+ }[];
402
+ }[];
403
+ L_TEMPLATER: {
404
+ name: string;
405
+ symbols: {
406
+ token: string;
407
+ }[];
408
+ }[];
409
+ L_ARROW: {
410
+ name: string;
411
+ symbols: {
412
+ token: string;
413
+ }[];
414
+ }[];
415
+ L_DSIGN: {
416
+ name: string;
417
+ symbols: {
418
+ token: string;
419
+ }[];
420
+ }[];
421
+ L_DASH: {
422
+ name: string;
423
+ symbols: {
424
+ token: string;
425
+ }[];
426
+ }[];
427
+ K_ALL: {
428
+ name: string;
429
+ symbols: {
430
+ literal: string;
431
+ }[];
432
+ }[];
433
+ K_TAG: {
434
+ name: string;
435
+ symbols: {
436
+ literal: string;
437
+ }[];
438
+ }[];
439
+ K_FROM: {
440
+ name: string;
441
+ symbols: {
442
+ literal: string;
443
+ }[];
444
+ }[];
445
+ K_TYPE: {
446
+ name: string;
447
+ symbols: {
448
+ literal: string;
449
+ }[];
450
+ }[];
451
+ K_WHEN: {
452
+ name: string;
453
+ symbols: {
454
+ literal: string;
455
+ }[];
456
+ }[];
457
+ K_POP: {
458
+ name: string;
459
+ symbols: {
460
+ literal: string;
461
+ }[];
462
+ }[];
463
+ K_INSET: {
464
+ name: string;
465
+ symbols: {
466
+ literal: string;
467
+ }[];
468
+ }[];
469
+ K_SET: {
470
+ name: string;
471
+ symbols: {
472
+ literal: string;
473
+ }[];
474
+ }[];
475
+ K_GOTO: {
476
+ name: string;
477
+ symbols: {
478
+ literal: string;
479
+ }[];
480
+ }[];
481
+ K_CONFIG: {
482
+ name: string;
483
+ symbols: {
484
+ literal: string;
485
+ }[];
486
+ }[];
487
+ K_LEXER: {
488
+ name: string;
489
+ symbols: {
490
+ literal: string;
491
+ }[];
492
+ }[];
493
+ K_GRAMMAR: {
494
+ name: string;
495
+ symbols: {
496
+ literal: string;
497
+ }[];
498
+ }[];
499
+ K_IMPORT: {
500
+ name: string;
501
+ symbols: {
502
+ literal: string;
503
+ }[];
504
+ }[];
505
+ K_BODY: {
506
+ name: string;
507
+ symbols: {
508
+ literal: string;
509
+ }[];
510
+ }[];
511
+ K_HEAD: {
512
+ name: string;
513
+ symbols: {
514
+ literal: string;
515
+ }[];
516
+ }[];
517
+ T_JS$RPT0Nx1: ({
518
+ name: string;
519
+ symbols: any[];
520
+ postprocess?: undefined;
521
+ } | {
522
+ name: string;
523
+ symbols: (string | {
524
+ token: string;
525
+ })[];
526
+ postprocess: ({ data }: {
527
+ data: any;
528
+ }) => any;
529
+ })[];
530
+ T_JS: {
531
+ name: string;
532
+ symbols: (string | {
533
+ token: string;
534
+ })[];
535
+ postprocess: ({ data }: {
536
+ data: any;
537
+ }) => {
538
+ js: any;
539
+ };
540
+ }[];
541
+ T_GRAMMAR_TEMPLATE$RPT0Nx1: ({
542
+ name: string;
543
+ symbols: any[];
544
+ postprocess?: undefined;
545
+ } | {
546
+ name: string;
547
+ symbols: (string | {
548
+ token: string;
549
+ })[];
550
+ postprocess: ({ data }: {
551
+ data: any;
552
+ }) => any;
553
+ })[];
554
+ T_GRAMMAR_TEMPLATE: {
555
+ name: string;
556
+ symbols: (string | {
557
+ token: string;
558
+ })[];
559
+ postprocess: ({ data }: {
560
+ data: any;
561
+ }) => {
562
+ template: any;
563
+ };
564
+ }[];
565
+ T_STRING: {
566
+ name: string;
567
+ symbols: {
568
+ token: string;
569
+ }[];
570
+ postprocess: ({ data }: {
571
+ data: any;
572
+ }) => any;
573
+ }[];
574
+ T_WORD: {
575
+ name: string;
576
+ symbols: {
577
+ token: string;
578
+ }[];
579
+ postprocess: ({ data }: {
580
+ data: any;
581
+ }) => any;
582
+ }[];
583
+ T_REGEX$RPT0Nx1: ({
584
+ name: string;
585
+ symbols: any[];
586
+ postprocess?: undefined;
587
+ } | {
588
+ name: string;
589
+ symbols: (string | RegExp)[];
590
+ postprocess: ({ data }: {
591
+ data: any;
592
+ }) => any;
593
+ })[];
594
+ T_REGEX: {
595
+ name: string;
596
+ symbols: (string | {
597
+ token: string;
598
+ })[];
599
+ postprocess: ({ data }: {
600
+ data: any;
601
+ }) => {
602
+ regex: any;
603
+ flags: any;
604
+ };
605
+ }[];
606
+ T_COMMENT: {
607
+ name: string;
608
+ symbols: {
609
+ token: string;
610
+ }[];
611
+ }[];
612
+ T_INTEGER: {
613
+ name: string;
614
+ symbols: {
615
+ token: string;
616
+ }[];
617
+ postprocess: ({ data }: {
618
+ data: any;
619
+ }) => any;
620
+ }[];
621
+ T_WS: {
622
+ name: string;
623
+ symbols: {
624
+ token: string;
625
+ }[];
626
+ postprocess: ({ data }: {
627
+ data: any;
628
+ }) => any;
629
+ }[];
630
+ };
631
+ };
632
+ lexer: {
633
+ start: string;
634
+ states: {
635
+ start: {
636
+ name: string;
637
+ rules: ({
638
+ import: string[];
639
+ when?: undefined;
640
+ tag?: undefined;
641
+ goto?: undefined;
642
+ } | {
643
+ when: RegExp;
644
+ tag: string[];
645
+ goto: string;
646
+ import?: undefined;
647
+ })[];
648
+ };
649
+ config: {
650
+ name: string;
651
+ rules: ({
652
+ import: string[];
653
+ when?: undefined;
654
+ tag?: undefined;
655
+ set?: undefined;
656
+ } | {
657
+ when: string;
658
+ tag: string[];
659
+ set: string;
660
+ import?: undefined;
661
+ })[];
662
+ };
663
+ config_inner: {
664
+ name: string;
665
+ rules: ({
666
+ import: string[];
667
+ when?: undefined;
668
+ tag?: undefined;
669
+ pop?: undefined;
670
+ } | {
671
+ when: string;
672
+ tag: string[];
673
+ pop: number;
674
+ import?: undefined;
675
+ })[];
676
+ };
677
+ grammar: {
678
+ name: string;
679
+ rules: ({
680
+ import: string[];
681
+ when?: undefined;
682
+ tag?: undefined;
683
+ set?: undefined;
684
+ } | {
685
+ when: string;
686
+ tag: string[];
687
+ set: string;
688
+ import?: undefined;
689
+ })[];
690
+ };
691
+ grammar_inner: {
692
+ name: string;
693
+ rules: ({
694
+ import: string[];
695
+ when?: undefined;
696
+ tag?: undefined;
697
+ pop?: undefined;
698
+ } | {
699
+ when: string;
700
+ tag: string[];
701
+ pop: number;
702
+ import?: undefined;
703
+ })[];
704
+ };
705
+ lexer: {
706
+ name: string;
707
+ rules: ({
708
+ import: string[];
709
+ when?: undefined;
710
+ tag?: undefined;
711
+ set?: undefined;
712
+ } | {
713
+ when: string;
714
+ tag: string[];
715
+ set: string;
716
+ import?: undefined;
717
+ })[];
718
+ };
719
+ lexer_inner: {
720
+ name: string;
721
+ rules: ({
722
+ import: string[];
723
+ when?: undefined;
724
+ tag?: undefined;
725
+ pop?: undefined;
726
+ } | {
727
+ when: string;
728
+ tag: string[];
729
+ pop: number;
730
+ import?: undefined;
731
+ })[];
732
+ };
733
+ js: {
734
+ name: string;
735
+ rules: {
736
+ when: string;
737
+ tag: string[];
738
+ goto: string;
739
+ }[];
740
+ };
741
+ js_wrap: {
742
+ name: string;
743
+ default: string;
744
+ unmatched: string;
745
+ rules: ({
746
+ import: string[];
747
+ when?: undefined;
748
+ tag?: undefined;
749
+ goto?: undefined;
750
+ pop?: undefined;
751
+ } | {
752
+ when: string;
753
+ tag: string[];
754
+ goto: string;
755
+ import?: undefined;
756
+ pop?: undefined;
757
+ } | {
758
+ when: string;
759
+ tag: string[];
760
+ pop: number;
761
+ import?: undefined;
762
+ goto?: undefined;
763
+ })[];
764
+ };
765
+ js_literal: {
766
+ name: string;
767
+ default: string;
768
+ unmatched: string;
769
+ rules: ({
770
+ import: string[];
771
+ when?: undefined;
772
+ tag?: undefined;
773
+ goto?: undefined;
774
+ pop?: undefined;
775
+ } | {
776
+ when: string;
777
+ tag: string[];
778
+ goto: string;
779
+ import?: undefined;
780
+ pop?: undefined;
781
+ } | {
782
+ when: string;
783
+ tag: string[];
784
+ pop: number;
785
+ import?: undefined;
786
+ goto?: undefined;
787
+ })[];
788
+ };
789
+ js_template: {
790
+ name: string;
791
+ rules: {
792
+ when: string;
793
+ tag: string[];
794
+ goto: string;
795
+ }[];
796
+ };
797
+ js_template_inner: {
798
+ name: string;
799
+ default: string;
800
+ unmatched: string;
801
+ rules: ({
802
+ import: string[];
803
+ when?: undefined;
804
+ tag?: undefined;
805
+ goto?: undefined;
806
+ pop?: undefined;
807
+ } | {
808
+ when: string;
809
+ tag: string[];
810
+ goto: string;
811
+ import?: undefined;
812
+ pop?: undefined;
813
+ } | {
814
+ when: string;
815
+ tag: string[];
816
+ pop: number;
817
+ import?: undefined;
818
+ goto?: undefined;
819
+ })[];
820
+ };
821
+ kv: {
822
+ name: string;
823
+ rules: {
824
+ import: string[];
825
+ }[];
826
+ };
827
+ jsignore: {
828
+ name: string;
829
+ rules: {
830
+ when: RegExp;
831
+ tag: string[];
832
+ }[];
833
+ };
834
+ string: {
835
+ name: string;
836
+ rules: {
837
+ when: RegExp;
838
+ tag: string[];
839
+ }[];
840
+ };
841
+ string2: {
842
+ name: string;
843
+ rules: {
844
+ when: RegExp;
845
+ tag: string[];
846
+ }[];
847
+ };
848
+ string3: {
849
+ name: string;
850
+ rules: {
851
+ when: RegExp;
852
+ tag: string[];
853
+ }[];
854
+ };
855
+ regex: {
856
+ name: string;
857
+ rules: {
858
+ when: RegExp;
859
+ tag: string[];
860
+ }[];
861
+ };
862
+ integer: {
863
+ name: string;
864
+ rules: {
865
+ when: RegExp;
866
+ tag: string[];
867
+ }[];
868
+ };
869
+ word: {
870
+ name: string;
871
+ rules: {
872
+ when: RegExp;
873
+ tag: string[];
874
+ }[];
875
+ };
876
+ ws: {
877
+ name: string;
878
+ rules: {
879
+ when: RegExp;
880
+ tag: string[];
881
+ }[];
882
+ };
883
+ l_colon: {
884
+ name: string;
885
+ rules: {
886
+ when: string;
887
+ tag: string[];
888
+ }[];
889
+ };
890
+ l_scolon: {
891
+ name: string;
892
+ rules: {
893
+ when: string;
894
+ tag: string[];
895
+ }[];
896
+ };
897
+ l_qmark: {
898
+ name: string;
899
+ rules: {
900
+ when: string;
901
+ tag: string[];
902
+ }[];
903
+ };
904
+ l_plus: {
905
+ name: string;
906
+ rules: {
907
+ when: string;
908
+ tag: string[];
909
+ }[];
910
+ };
911
+ l_star: {
912
+ name: string;
913
+ rules: {
914
+ when: string;
915
+ tag: string[];
916
+ }[];
917
+ };
918
+ l_comma: {
919
+ name: string;
920
+ rules: {
921
+ when: string;
922
+ tag: string[];
923
+ }[];
924
+ };
925
+ l_pipe: {
926
+ name: string;
927
+ rules: {
928
+ when: string;
929
+ tag: string[];
930
+ }[];
931
+ };
932
+ l_parenl: {
933
+ name: string;
934
+ rules: {
935
+ when: string;
936
+ tag: string[];
937
+ }[];
938
+ };
939
+ l_parenr: {
940
+ name: string;
941
+ rules: {
942
+ when: string;
943
+ tag: string[];
944
+ }[];
945
+ };
946
+ l_templatel: {
947
+ name: string;
948
+ rules: {
949
+ when: string;
950
+ tag: string[];
951
+ }[];
952
+ };
953
+ l_templater: {
954
+ name: string;
955
+ rules: {
956
+ when: string;
957
+ tag: string[];
958
+ }[];
959
+ };
960
+ l_arrow: {
961
+ name: string;
962
+ rules: {
963
+ when: string;
964
+ tag: string[];
965
+ }[];
966
+ };
967
+ l_dsign: {
968
+ name: string;
969
+ rules: {
970
+ when: string;
971
+ tag: string[];
972
+ }[];
973
+ };
974
+ l_dash: {
975
+ name: string;
976
+ rules: {
977
+ when: string;
978
+ tag: string[];
979
+ }[];
980
+ };
981
+ comment: {
982
+ name: string;
983
+ rules: {
984
+ when: RegExp;
985
+ tag: string[];
986
+ }[];
987
+ };
988
+ commentmulti: {
989
+ name: string;
990
+ rules: {
991
+ when: RegExp;
992
+ tag: string[];
993
+ }[];
994
+ };
995
+ };
996
+ };
997
+ };