csvpath 0.0.2__py3-none-any.whl

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 (54) hide show
  1. csvpath/__init__.py +1 -0
  2. csvpath/csvpath.py +368 -0
  3. csvpath/matching/__init__.py +1 -0
  4. csvpath/matching/expression_encoder.py +108 -0
  5. csvpath/matching/expression_math.py +123 -0
  6. csvpath/matching/expression_utility.py +29 -0
  7. csvpath/matching/functions/above.py +36 -0
  8. csvpath/matching/functions/add.py +24 -0
  9. csvpath/matching/functions/below.py +36 -0
  10. csvpath/matching/functions/concat.py +25 -0
  11. csvpath/matching/functions/count.py +44 -0
  12. csvpath/matching/functions/count_lines.py +12 -0
  13. csvpath/matching/functions/count_scans.py +13 -0
  14. csvpath/matching/functions/divide.py +30 -0
  15. csvpath/matching/functions/end.py +18 -0
  16. csvpath/matching/functions/every.py +33 -0
  17. csvpath/matching/functions/first.py +46 -0
  18. csvpath/matching/functions/function.py +31 -0
  19. csvpath/matching/functions/function_factory.py +114 -0
  20. csvpath/matching/functions/inf.py +38 -0
  21. csvpath/matching/functions/is_instance.py +95 -0
  22. csvpath/matching/functions/length.py +33 -0
  23. csvpath/matching/functions/lower.py +21 -0
  24. csvpath/matching/functions/minf.py +167 -0
  25. csvpath/matching/functions/multiply.py +27 -0
  26. csvpath/matching/functions/no.py +10 -0
  27. csvpath/matching/functions/notf.py +26 -0
  28. csvpath/matching/functions/now.py +33 -0
  29. csvpath/matching/functions/orf.py +28 -0
  30. csvpath/matching/functions/percent.py +29 -0
  31. csvpath/matching/functions/random.py +33 -0
  32. csvpath/matching/functions/regex.py +38 -0
  33. csvpath/matching/functions/subtract.py +28 -0
  34. csvpath/matching/functions/tally.py +36 -0
  35. csvpath/matching/functions/upper.py +21 -0
  36. csvpath/matching/matcher.py +215 -0
  37. csvpath/matching/matching_lexer.py +66 -0
  38. csvpath/matching/parser.out +1287 -0
  39. csvpath/matching/parsetab.py +1427 -0
  40. csvpath/matching/productions/equality.py +158 -0
  41. csvpath/matching/productions/expression.py +16 -0
  42. csvpath/matching/productions/header.py +30 -0
  43. csvpath/matching/productions/matchable.py +41 -0
  44. csvpath/matching/productions/term.py +11 -0
  45. csvpath/matching/productions/variable.py +15 -0
  46. csvpath/parser_utility.py +39 -0
  47. csvpath/scanning/__init__.py +1 -0
  48. csvpath/scanning/parser.out +1 -0
  49. csvpath/scanning/parsetab.py +231 -0
  50. csvpath/scanning/scanner.py +165 -0
  51. csvpath/scanning/scanning_lexer.py +47 -0
  52. csvpath-0.0.2.dist-info/METADATA +184 -0
  53. csvpath-0.0.2.dist-info/RECORD +54 -0
  54. csvpath-0.0.2.dist-info/WHEEL +4 -0
@@ -0,0 +1,1427 @@
1
+ # parsetab.py
2
+ # This file is automatically generated. Do not edit.
3
+ # pylint: disable=W,C,R
4
+ _tabversion = "3.10"
5
+
6
+ _lr_method = "LALR"
7
+
8
+ _lr_signature = "match_partASSIGNMENT CLOSE_PAREN DATE EQUALS HEADER_SYM LEFT_BRACKET NAME NUMBER OPEN_PAREN OPERATION QUOTE REGEX RIGHT_BRACKET VAR_SYMmatch_part : LEFT_BRACKET expression RIGHT_BRACKET\n | LEFT_BRACKET expressions RIGHT_BRACKET\n expressions : expression\n | expressions expression\n expression : function\n | assignment_or_equality\n | headerfunction : NAME OPEN_PAREN CLOSE_PAREN\n | NAME OPEN_PAREN equality CLOSE_PAREN\n | NAME OPEN_PAREN function CLOSE_PAREN\n | NAME OPEN_PAREN var_or_header CLOSE_PAREN\n | NAME OPEN_PAREN term CLOSE_PAREN\n assignment_or_equality : equality\n | assignment\n \n equality : function op term\n | function op function\n | function op var_or_header\n | var_or_header op function\n | var_or_header op term\n | var_or_header op var_or_header\n | term op var_or_header\n | term op term\n | term op function\n | equality op equality\n | equality op term\n | equality op function\n op : EQUALS\n | OPERATION\n \n assignment : var ASSIGNMENT var\n | var ASSIGNMENT term\n | var ASSIGNMENT function\n | var ASSIGNMENT header\n term : QUOTE NAME QUOTE\n | QUOTE DATE QUOTE\n | QUOTE NUMBER QUOTE\n | NUMBER\n | REGEX\n var_or_header : header\n | var\n var : VAR_SYM NAMEheader : HEADER_SYM NAME\n | HEADER_SYM NUMBER\n "
9
+
10
+ _lr_action_items = {
11
+ "LEFT_BRACKET": (
12
+ [
13
+ 0,
14
+ ],
15
+ [
16
+ 2,
17
+ ],
18
+ ),
19
+ "$end": (
20
+ [
21
+ 1,
22
+ 19,
23
+ 20,
24
+ ],
25
+ [
26
+ 0,
27
+ -1,
28
+ -2,
29
+ ],
30
+ ),
31
+ "NAME": (
32
+ [
33
+ 2,
34
+ 3,
35
+ 4,
36
+ 5,
37
+ 6,
38
+ 7,
39
+ 9,
40
+ 12,
41
+ 13,
42
+ 14,
43
+ 16,
44
+ 17,
45
+ 18,
46
+ 21,
47
+ 22,
48
+ 23,
49
+ 24,
50
+ 25,
51
+ 26,
52
+ 27,
53
+ 28,
54
+ 29,
55
+ 30,
56
+ 31,
57
+ 35,
58
+ 36,
59
+ 37,
60
+ 38,
61
+ 39,
62
+ 40,
63
+ 41,
64
+ 46,
65
+ 47,
66
+ 48,
67
+ 49,
68
+ 50,
69
+ 51,
70
+ 52,
71
+ 53,
72
+ 54,
73
+ 55,
74
+ 56,
75
+ 57,
76
+ 58,
77
+ 59,
78
+ 60,
79
+ 61,
80
+ 62,
81
+ 63,
82
+ 64,
83
+ 65,
84
+ ],
85
+ [
86
+ 8,
87
+ -3,
88
+ 8,
89
+ -5,
90
+ -6,
91
+ -7,
92
+ -13,
93
+ -14,
94
+ 29,
95
+ -36,
96
+ 32,
97
+ -37,
98
+ 35,
99
+ -4,
100
+ 8,
101
+ -27,
102
+ -28,
103
+ 8,
104
+ 8,
105
+ 8,
106
+ 8,
107
+ -41,
108
+ -42,
109
+ 8,
110
+ -40,
111
+ -16,
112
+ -15,
113
+ -17,
114
+ -38,
115
+ -39,
116
+ -8,
117
+ -24,
118
+ -25,
119
+ -26,
120
+ -20,
121
+ -18,
122
+ -19,
123
+ -22,
124
+ -21,
125
+ -23,
126
+ -29,
127
+ -30,
128
+ -31,
129
+ -32,
130
+ -33,
131
+ -34,
132
+ -35,
133
+ -9,
134
+ -10,
135
+ -11,
136
+ -12,
137
+ ],
138
+ ),
139
+ "HEADER_SYM": (
140
+ [
141
+ 2,
142
+ 3,
143
+ 4,
144
+ 5,
145
+ 6,
146
+ 7,
147
+ 9,
148
+ 12,
149
+ 14,
150
+ 17,
151
+ 21,
152
+ 22,
153
+ 23,
154
+ 24,
155
+ 25,
156
+ 26,
157
+ 27,
158
+ 28,
159
+ 29,
160
+ 30,
161
+ 31,
162
+ 35,
163
+ 36,
164
+ 37,
165
+ 38,
166
+ 39,
167
+ 40,
168
+ 41,
169
+ 46,
170
+ 47,
171
+ 48,
172
+ 49,
173
+ 50,
174
+ 51,
175
+ 52,
176
+ 53,
177
+ 54,
178
+ 55,
179
+ 56,
180
+ 57,
181
+ 58,
182
+ 59,
183
+ 60,
184
+ 61,
185
+ 62,
186
+ 63,
187
+ 64,
188
+ 65,
189
+ ],
190
+ [
191
+ 13,
192
+ -3,
193
+ 13,
194
+ -5,
195
+ -6,
196
+ -7,
197
+ -13,
198
+ -14,
199
+ -36,
200
+ -37,
201
+ -4,
202
+ 13,
203
+ -27,
204
+ -28,
205
+ 13,
206
+ 13,
207
+ 13,
208
+ 13,
209
+ -41,
210
+ -42,
211
+ 13,
212
+ -40,
213
+ -16,
214
+ -15,
215
+ -17,
216
+ -38,
217
+ -39,
218
+ -8,
219
+ -24,
220
+ -25,
221
+ -26,
222
+ -20,
223
+ -18,
224
+ -19,
225
+ -22,
226
+ -21,
227
+ -23,
228
+ -29,
229
+ -30,
230
+ -31,
231
+ -32,
232
+ -33,
233
+ -34,
234
+ -35,
235
+ -9,
236
+ -10,
237
+ -11,
238
+ -12,
239
+ ],
240
+ ),
241
+ "QUOTE": (
242
+ [
243
+ 2,
244
+ 3,
245
+ 4,
246
+ 5,
247
+ 6,
248
+ 7,
249
+ 9,
250
+ 12,
251
+ 14,
252
+ 17,
253
+ 21,
254
+ 22,
255
+ 23,
256
+ 24,
257
+ 25,
258
+ 26,
259
+ 27,
260
+ 28,
261
+ 29,
262
+ 30,
263
+ 31,
264
+ 32,
265
+ 33,
266
+ 34,
267
+ 35,
268
+ 36,
269
+ 37,
270
+ 38,
271
+ 39,
272
+ 40,
273
+ 41,
274
+ 46,
275
+ 47,
276
+ 48,
277
+ 49,
278
+ 50,
279
+ 51,
280
+ 52,
281
+ 53,
282
+ 54,
283
+ 55,
284
+ 56,
285
+ 57,
286
+ 58,
287
+ 59,
288
+ 60,
289
+ 61,
290
+ 62,
291
+ 63,
292
+ 64,
293
+ 65,
294
+ ],
295
+ [
296
+ 16,
297
+ -3,
298
+ 16,
299
+ -5,
300
+ -6,
301
+ -7,
302
+ -13,
303
+ -14,
304
+ -36,
305
+ -37,
306
+ -4,
307
+ 16,
308
+ -27,
309
+ -28,
310
+ 16,
311
+ 16,
312
+ 16,
313
+ 16,
314
+ -41,
315
+ -42,
316
+ 16,
317
+ 59,
318
+ 60,
319
+ 61,
320
+ -40,
321
+ -16,
322
+ -15,
323
+ -17,
324
+ -38,
325
+ -39,
326
+ -8,
327
+ -24,
328
+ -25,
329
+ -26,
330
+ -20,
331
+ -18,
332
+ -19,
333
+ -22,
334
+ -21,
335
+ -23,
336
+ -29,
337
+ -30,
338
+ -31,
339
+ -32,
340
+ -33,
341
+ -34,
342
+ -35,
343
+ -9,
344
+ -10,
345
+ -11,
346
+ -12,
347
+ ],
348
+ ),
349
+ "NUMBER": (
350
+ [
351
+ 2,
352
+ 3,
353
+ 4,
354
+ 5,
355
+ 6,
356
+ 7,
357
+ 9,
358
+ 12,
359
+ 13,
360
+ 14,
361
+ 16,
362
+ 17,
363
+ 21,
364
+ 22,
365
+ 23,
366
+ 24,
367
+ 25,
368
+ 26,
369
+ 27,
370
+ 28,
371
+ 29,
372
+ 30,
373
+ 31,
374
+ 35,
375
+ 36,
376
+ 37,
377
+ 38,
378
+ 39,
379
+ 40,
380
+ 41,
381
+ 46,
382
+ 47,
383
+ 48,
384
+ 49,
385
+ 50,
386
+ 51,
387
+ 52,
388
+ 53,
389
+ 54,
390
+ 55,
391
+ 56,
392
+ 57,
393
+ 58,
394
+ 59,
395
+ 60,
396
+ 61,
397
+ 62,
398
+ 63,
399
+ 64,
400
+ 65,
401
+ ],
402
+ [
403
+ 14,
404
+ -3,
405
+ 14,
406
+ -5,
407
+ -6,
408
+ -7,
409
+ -13,
410
+ -14,
411
+ 30,
412
+ -36,
413
+ 34,
414
+ -37,
415
+ -4,
416
+ 14,
417
+ -27,
418
+ -28,
419
+ 14,
420
+ 14,
421
+ 14,
422
+ 14,
423
+ -41,
424
+ -42,
425
+ 14,
426
+ -40,
427
+ -16,
428
+ -15,
429
+ -17,
430
+ -38,
431
+ -39,
432
+ -8,
433
+ -24,
434
+ -25,
435
+ -26,
436
+ -20,
437
+ -18,
438
+ -19,
439
+ -22,
440
+ -21,
441
+ -23,
442
+ -29,
443
+ -30,
444
+ -31,
445
+ -32,
446
+ -33,
447
+ -34,
448
+ -35,
449
+ -9,
450
+ -10,
451
+ -11,
452
+ -12,
453
+ ],
454
+ ),
455
+ "REGEX": (
456
+ [
457
+ 2,
458
+ 3,
459
+ 4,
460
+ 5,
461
+ 6,
462
+ 7,
463
+ 9,
464
+ 12,
465
+ 14,
466
+ 17,
467
+ 21,
468
+ 22,
469
+ 23,
470
+ 24,
471
+ 25,
472
+ 26,
473
+ 27,
474
+ 28,
475
+ 29,
476
+ 30,
477
+ 31,
478
+ 35,
479
+ 36,
480
+ 37,
481
+ 38,
482
+ 39,
483
+ 40,
484
+ 41,
485
+ 46,
486
+ 47,
487
+ 48,
488
+ 49,
489
+ 50,
490
+ 51,
491
+ 52,
492
+ 53,
493
+ 54,
494
+ 55,
495
+ 56,
496
+ 57,
497
+ 58,
498
+ 59,
499
+ 60,
500
+ 61,
501
+ 62,
502
+ 63,
503
+ 64,
504
+ 65,
505
+ ],
506
+ [
507
+ 17,
508
+ -3,
509
+ 17,
510
+ -5,
511
+ -6,
512
+ -7,
513
+ -13,
514
+ -14,
515
+ -36,
516
+ -37,
517
+ -4,
518
+ 17,
519
+ -27,
520
+ -28,
521
+ 17,
522
+ 17,
523
+ 17,
524
+ 17,
525
+ -41,
526
+ -42,
527
+ 17,
528
+ -40,
529
+ -16,
530
+ -15,
531
+ -17,
532
+ -38,
533
+ -39,
534
+ -8,
535
+ -24,
536
+ -25,
537
+ -26,
538
+ -20,
539
+ -18,
540
+ -19,
541
+ -22,
542
+ -21,
543
+ -23,
544
+ -29,
545
+ -30,
546
+ -31,
547
+ -32,
548
+ -33,
549
+ -34,
550
+ -35,
551
+ -9,
552
+ -10,
553
+ -11,
554
+ -12,
555
+ ],
556
+ ),
557
+ "VAR_SYM": (
558
+ [
559
+ 2,
560
+ 3,
561
+ 4,
562
+ 5,
563
+ 6,
564
+ 7,
565
+ 9,
566
+ 12,
567
+ 14,
568
+ 17,
569
+ 21,
570
+ 22,
571
+ 23,
572
+ 24,
573
+ 25,
574
+ 26,
575
+ 27,
576
+ 28,
577
+ 29,
578
+ 30,
579
+ 31,
580
+ 35,
581
+ 36,
582
+ 37,
583
+ 38,
584
+ 39,
585
+ 40,
586
+ 41,
587
+ 46,
588
+ 47,
589
+ 48,
590
+ 49,
591
+ 50,
592
+ 51,
593
+ 52,
594
+ 53,
595
+ 54,
596
+ 55,
597
+ 56,
598
+ 57,
599
+ 58,
600
+ 59,
601
+ 60,
602
+ 61,
603
+ 62,
604
+ 63,
605
+ 64,
606
+ 65,
607
+ ],
608
+ [
609
+ 18,
610
+ -3,
611
+ 18,
612
+ -5,
613
+ -6,
614
+ -7,
615
+ -13,
616
+ -14,
617
+ -36,
618
+ -37,
619
+ -4,
620
+ 18,
621
+ -27,
622
+ -28,
623
+ 18,
624
+ 18,
625
+ 18,
626
+ 18,
627
+ -41,
628
+ -42,
629
+ 18,
630
+ -40,
631
+ -16,
632
+ -15,
633
+ -17,
634
+ -38,
635
+ -39,
636
+ -8,
637
+ -24,
638
+ -25,
639
+ -26,
640
+ -20,
641
+ -18,
642
+ -19,
643
+ -22,
644
+ -21,
645
+ -23,
646
+ -29,
647
+ -30,
648
+ -31,
649
+ -32,
650
+ -33,
651
+ -34,
652
+ -35,
653
+ -9,
654
+ -10,
655
+ -11,
656
+ -12,
657
+ ],
658
+ ),
659
+ "RIGHT_BRACKET": (
660
+ [
661
+ 3,
662
+ 4,
663
+ 5,
664
+ 6,
665
+ 7,
666
+ 9,
667
+ 12,
668
+ 14,
669
+ 17,
670
+ 21,
671
+ 29,
672
+ 30,
673
+ 35,
674
+ 36,
675
+ 37,
676
+ 38,
677
+ 39,
678
+ 40,
679
+ 41,
680
+ 46,
681
+ 47,
682
+ 48,
683
+ 49,
684
+ 50,
685
+ 51,
686
+ 52,
687
+ 53,
688
+ 54,
689
+ 55,
690
+ 56,
691
+ 57,
692
+ 58,
693
+ 59,
694
+ 60,
695
+ 61,
696
+ 62,
697
+ 63,
698
+ 64,
699
+ 65,
700
+ ],
701
+ [
702
+ 19,
703
+ 20,
704
+ -5,
705
+ -6,
706
+ -7,
707
+ -13,
708
+ -14,
709
+ -36,
710
+ -37,
711
+ -4,
712
+ -41,
713
+ -42,
714
+ -40,
715
+ -16,
716
+ -15,
717
+ -17,
718
+ -38,
719
+ -39,
720
+ -8,
721
+ -24,
722
+ -25,
723
+ -26,
724
+ -20,
725
+ -18,
726
+ -19,
727
+ -22,
728
+ -21,
729
+ -23,
730
+ -29,
731
+ -30,
732
+ -31,
733
+ -32,
734
+ -33,
735
+ -34,
736
+ -35,
737
+ -9,
738
+ -10,
739
+ -11,
740
+ -12,
741
+ ],
742
+ ),
743
+ "EQUALS": (
744
+ [
745
+ 5,
746
+ 7,
747
+ 9,
748
+ 10,
749
+ 11,
750
+ 14,
751
+ 15,
752
+ 17,
753
+ 29,
754
+ 30,
755
+ 35,
756
+ 36,
757
+ 37,
758
+ 38,
759
+ 39,
760
+ 40,
761
+ 41,
762
+ 42,
763
+ 43,
764
+ 44,
765
+ 45,
766
+ 46,
767
+ 47,
768
+ 48,
769
+ 49,
770
+ 50,
771
+ 51,
772
+ 52,
773
+ 53,
774
+ 54,
775
+ 59,
776
+ 60,
777
+ 61,
778
+ 62,
779
+ 63,
780
+ 64,
781
+ 65,
782
+ ],
783
+ [
784
+ 23,
785
+ -38,
786
+ 23,
787
+ 23,
788
+ 23,
789
+ -36,
790
+ -39,
791
+ -37,
792
+ -41,
793
+ -42,
794
+ -40,
795
+ -16,
796
+ -15,
797
+ -17,
798
+ -38,
799
+ -39,
800
+ -8,
801
+ 23,
802
+ 23,
803
+ 23,
804
+ 23,
805
+ 23,
806
+ 23,
807
+ 23,
808
+ -20,
809
+ -18,
810
+ -19,
811
+ -22,
812
+ -21,
813
+ -23,
814
+ -33,
815
+ -34,
816
+ -35,
817
+ -9,
818
+ -10,
819
+ -11,
820
+ -12,
821
+ ],
822
+ ),
823
+ "OPERATION": (
824
+ [
825
+ 5,
826
+ 7,
827
+ 9,
828
+ 10,
829
+ 11,
830
+ 14,
831
+ 15,
832
+ 17,
833
+ 29,
834
+ 30,
835
+ 35,
836
+ 36,
837
+ 37,
838
+ 38,
839
+ 39,
840
+ 40,
841
+ 41,
842
+ 42,
843
+ 43,
844
+ 44,
845
+ 45,
846
+ 46,
847
+ 47,
848
+ 48,
849
+ 49,
850
+ 50,
851
+ 51,
852
+ 52,
853
+ 53,
854
+ 54,
855
+ 59,
856
+ 60,
857
+ 61,
858
+ 62,
859
+ 63,
860
+ 64,
861
+ 65,
862
+ ],
863
+ [
864
+ 24,
865
+ -38,
866
+ 24,
867
+ 24,
868
+ 24,
869
+ -36,
870
+ -39,
871
+ -37,
872
+ -41,
873
+ -42,
874
+ -40,
875
+ -16,
876
+ -15,
877
+ -17,
878
+ -38,
879
+ -39,
880
+ -8,
881
+ 24,
882
+ 24,
883
+ 24,
884
+ 24,
885
+ 24,
886
+ 24,
887
+ 24,
888
+ -20,
889
+ -18,
890
+ -19,
891
+ -22,
892
+ -21,
893
+ -23,
894
+ -33,
895
+ -34,
896
+ -35,
897
+ -9,
898
+ -10,
899
+ -11,
900
+ -12,
901
+ ],
902
+ ),
903
+ "OPEN_PAREN": (
904
+ [
905
+ 8,
906
+ ],
907
+ [
908
+ 25,
909
+ ],
910
+ ),
911
+ "CLOSE_PAREN": (
912
+ [
913
+ 14,
914
+ 17,
915
+ 25,
916
+ 29,
917
+ 30,
918
+ 35,
919
+ 36,
920
+ 37,
921
+ 38,
922
+ 39,
923
+ 40,
924
+ 41,
925
+ 42,
926
+ 43,
927
+ 44,
928
+ 45,
929
+ 46,
930
+ 47,
931
+ 48,
932
+ 49,
933
+ 50,
934
+ 51,
935
+ 52,
936
+ 53,
937
+ 54,
938
+ 59,
939
+ 60,
940
+ 61,
941
+ 62,
942
+ 63,
943
+ 64,
944
+ 65,
945
+ ],
946
+ [
947
+ -36,
948
+ -37,
949
+ 41,
950
+ -41,
951
+ -42,
952
+ -40,
953
+ -16,
954
+ -15,
955
+ -17,
956
+ -38,
957
+ -39,
958
+ -8,
959
+ 62,
960
+ 63,
961
+ 64,
962
+ 65,
963
+ -24,
964
+ -25,
965
+ -26,
966
+ -20,
967
+ -18,
968
+ -19,
969
+ -22,
970
+ -21,
971
+ -23,
972
+ -33,
973
+ -34,
974
+ -35,
975
+ -9,
976
+ -10,
977
+ -11,
978
+ -12,
979
+ ],
980
+ ),
981
+ "ASSIGNMENT": (
982
+ [
983
+ 15,
984
+ 35,
985
+ ],
986
+ [
987
+ 31,
988
+ -40,
989
+ ],
990
+ ),
991
+ "DATE": (
992
+ [
993
+ 16,
994
+ ],
995
+ [
996
+ 33,
997
+ ],
998
+ ),
999
+ }
1000
+
1001
+ _lr_action = {}
1002
+ for _k, _v in _lr_action_items.items():
1003
+ for _x, _y in zip(_v[0], _v[1]):
1004
+ if not _x in _lr_action:
1005
+ _lr_action[_x] = {}
1006
+ _lr_action[_x][_k] = _y
1007
+ del _lr_action_items
1008
+
1009
+ _lr_goto_items = {
1010
+ "match_part": (
1011
+ [
1012
+ 0,
1013
+ ],
1014
+ [
1015
+ 1,
1016
+ ],
1017
+ ),
1018
+ "expression": (
1019
+ [
1020
+ 2,
1021
+ 4,
1022
+ ],
1023
+ [
1024
+ 3,
1025
+ 21,
1026
+ ],
1027
+ ),
1028
+ "expressions": (
1029
+ [
1030
+ 2,
1031
+ ],
1032
+ [
1033
+ 4,
1034
+ ],
1035
+ ),
1036
+ "function": (
1037
+ [
1038
+ 2,
1039
+ 4,
1040
+ 22,
1041
+ 25,
1042
+ 26,
1043
+ 27,
1044
+ 28,
1045
+ 31,
1046
+ ],
1047
+ [
1048
+ 5,
1049
+ 5,
1050
+ 36,
1051
+ 43,
1052
+ 48,
1053
+ 50,
1054
+ 54,
1055
+ 57,
1056
+ ],
1057
+ ),
1058
+ "assignment_or_equality": (
1059
+ [
1060
+ 2,
1061
+ 4,
1062
+ ],
1063
+ [
1064
+ 6,
1065
+ 6,
1066
+ ],
1067
+ ),
1068
+ "header": (
1069
+ [
1070
+ 2,
1071
+ 4,
1072
+ 22,
1073
+ 25,
1074
+ 26,
1075
+ 27,
1076
+ 28,
1077
+ 31,
1078
+ ],
1079
+ [
1080
+ 7,
1081
+ 7,
1082
+ 39,
1083
+ 39,
1084
+ 39,
1085
+ 39,
1086
+ 39,
1087
+ 58,
1088
+ ],
1089
+ ),
1090
+ "equality": (
1091
+ [
1092
+ 2,
1093
+ 4,
1094
+ 25,
1095
+ 26,
1096
+ ],
1097
+ [
1098
+ 9,
1099
+ 9,
1100
+ 42,
1101
+ 46,
1102
+ ],
1103
+ ),
1104
+ "var_or_header": (
1105
+ [
1106
+ 2,
1107
+ 4,
1108
+ 22,
1109
+ 25,
1110
+ 26,
1111
+ 27,
1112
+ 28,
1113
+ ],
1114
+ [
1115
+ 10,
1116
+ 10,
1117
+ 38,
1118
+ 44,
1119
+ 10,
1120
+ 49,
1121
+ 53,
1122
+ ],
1123
+ ),
1124
+ "term": (
1125
+ [
1126
+ 2,
1127
+ 4,
1128
+ 22,
1129
+ 25,
1130
+ 26,
1131
+ 27,
1132
+ 28,
1133
+ 31,
1134
+ ],
1135
+ [
1136
+ 11,
1137
+ 11,
1138
+ 37,
1139
+ 45,
1140
+ 47,
1141
+ 51,
1142
+ 52,
1143
+ 56,
1144
+ ],
1145
+ ),
1146
+ "assignment": (
1147
+ [
1148
+ 2,
1149
+ 4,
1150
+ ],
1151
+ [
1152
+ 12,
1153
+ 12,
1154
+ ],
1155
+ ),
1156
+ "var": (
1157
+ [
1158
+ 2,
1159
+ 4,
1160
+ 22,
1161
+ 25,
1162
+ 26,
1163
+ 27,
1164
+ 28,
1165
+ 31,
1166
+ ],
1167
+ [
1168
+ 15,
1169
+ 15,
1170
+ 40,
1171
+ 40,
1172
+ 40,
1173
+ 40,
1174
+ 40,
1175
+ 55,
1176
+ ],
1177
+ ),
1178
+ "op": (
1179
+ [
1180
+ 5,
1181
+ 9,
1182
+ 10,
1183
+ 11,
1184
+ 42,
1185
+ 43,
1186
+ 44,
1187
+ 45,
1188
+ 46,
1189
+ 47,
1190
+ 48,
1191
+ ],
1192
+ [
1193
+ 22,
1194
+ 26,
1195
+ 27,
1196
+ 28,
1197
+ 26,
1198
+ 22,
1199
+ 27,
1200
+ 28,
1201
+ 26,
1202
+ 28,
1203
+ 22,
1204
+ ],
1205
+ ),
1206
+ }
1207
+
1208
+ _lr_goto = {}
1209
+ for _k, _v in _lr_goto_items.items():
1210
+ for _x, _y in zip(_v[0], _v[1]):
1211
+ if not _x in _lr_goto:
1212
+ _lr_goto[_x] = {}
1213
+ _lr_goto[_x][_k] = _y
1214
+ del _lr_goto_items
1215
+ _lr_productions = [
1216
+ ("S' -> match_part", "S'", 1, None, None, None),
1217
+ (
1218
+ "match_part -> LEFT_BRACKET expression RIGHT_BRACKET",
1219
+ "match_part",
1220
+ 3,
1221
+ "p_match_part",
1222
+ "matcher.py",
1223
+ 110,
1224
+ ),
1225
+ (
1226
+ "match_part -> LEFT_BRACKET expressions RIGHT_BRACKET",
1227
+ "match_part",
1228
+ 3,
1229
+ "p_match_part",
1230
+ "matcher.py",
1231
+ 111,
1232
+ ),
1233
+ ("expressions -> expression", "expressions", 1, "p_expressions", "matcher.py", 115),
1234
+ (
1235
+ "expressions -> expressions expression",
1236
+ "expressions",
1237
+ 2,
1238
+ "p_expressions",
1239
+ "matcher.py",
1240
+ 116,
1241
+ ),
1242
+ ("expression -> function", "expression", 1, "p_expression", "matcher.py", 120),
1243
+ (
1244
+ "expression -> assignment_or_equality",
1245
+ "expression",
1246
+ 1,
1247
+ "p_expression",
1248
+ "matcher.py",
1249
+ 121,
1250
+ ),
1251
+ ("expression -> header", "expression", 1, "p_expression", "matcher.py", 122),
1252
+ (
1253
+ "function -> NAME OPEN_PAREN CLOSE_PAREN",
1254
+ "function",
1255
+ 3,
1256
+ "p_function",
1257
+ "matcher.py",
1258
+ 129,
1259
+ ),
1260
+ (
1261
+ "function -> NAME OPEN_PAREN equality CLOSE_PAREN",
1262
+ "function",
1263
+ 4,
1264
+ "p_function",
1265
+ "matcher.py",
1266
+ 130,
1267
+ ),
1268
+ (
1269
+ "function -> NAME OPEN_PAREN function CLOSE_PAREN",
1270
+ "function",
1271
+ 4,
1272
+ "p_function",
1273
+ "matcher.py",
1274
+ 131,
1275
+ ),
1276
+ (
1277
+ "function -> NAME OPEN_PAREN var_or_header CLOSE_PAREN",
1278
+ "function",
1279
+ 4,
1280
+ "p_function",
1281
+ "matcher.py",
1282
+ 132,
1283
+ ),
1284
+ (
1285
+ "function -> NAME OPEN_PAREN term CLOSE_PAREN",
1286
+ "function",
1287
+ 4,
1288
+ "p_function",
1289
+ "matcher.py",
1290
+ 133,
1291
+ ),
1292
+ (
1293
+ "assignment_or_equality -> equality",
1294
+ "assignment_or_equality",
1295
+ 1,
1296
+ "p_assignment_or_equality",
1297
+ "matcher.py",
1298
+ 142,
1299
+ ),
1300
+ (
1301
+ "assignment_or_equality -> assignment",
1302
+ "assignment_or_equality",
1303
+ 1,
1304
+ "p_assignment_or_equality",
1305
+ "matcher.py",
1306
+ 143,
1307
+ ),
1308
+ ("equality -> function op term", "equality", 3, "p_equality", "matcher.py", 149),
1309
+ (
1310
+ "equality -> function op function",
1311
+ "equality",
1312
+ 3,
1313
+ "p_equality",
1314
+ "matcher.py",
1315
+ 150,
1316
+ ),
1317
+ (
1318
+ "equality -> function op var_or_header",
1319
+ "equality",
1320
+ 3,
1321
+ "p_equality",
1322
+ "matcher.py",
1323
+ 151,
1324
+ ),
1325
+ (
1326
+ "equality -> var_or_header op function",
1327
+ "equality",
1328
+ 3,
1329
+ "p_equality",
1330
+ "matcher.py",
1331
+ 152,
1332
+ ),
1333
+ (
1334
+ "equality -> var_or_header op term",
1335
+ "equality",
1336
+ 3,
1337
+ "p_equality",
1338
+ "matcher.py",
1339
+ 153,
1340
+ ),
1341
+ (
1342
+ "equality -> var_or_header op var_or_header",
1343
+ "equality",
1344
+ 3,
1345
+ "p_equality",
1346
+ "matcher.py",
1347
+ 154,
1348
+ ),
1349
+ (
1350
+ "equality -> term op var_or_header",
1351
+ "equality",
1352
+ 3,
1353
+ "p_equality",
1354
+ "matcher.py",
1355
+ 155,
1356
+ ),
1357
+ ("equality -> term op term", "equality", 3, "p_equality", "matcher.py", 156),
1358
+ ("equality -> term op function", "equality", 3, "p_equality", "matcher.py", 157),
1359
+ (
1360
+ "equality -> equality op equality",
1361
+ "equality",
1362
+ 3,
1363
+ "p_equality",
1364
+ "matcher.py",
1365
+ 158,
1366
+ ),
1367
+ ("equality -> equality op term", "equality", 3, "p_equality", "matcher.py", 159),
1368
+ (
1369
+ "equality -> equality op function",
1370
+ "equality",
1371
+ 3,
1372
+ "p_equality",
1373
+ "matcher.py",
1374
+ 160,
1375
+ ),
1376
+ ("op -> EQUALS", "op", 1, "p_op", "matcher.py", 169),
1377
+ ("op -> OPERATION", "op", 1, "p_op", "matcher.py", 170),
1378
+ (
1379
+ "assignment -> var ASSIGNMENT var",
1380
+ "assignment",
1381
+ 3,
1382
+ "p_assignment",
1383
+ "matcher.py",
1384
+ 176,
1385
+ ),
1386
+ (
1387
+ "assignment -> var ASSIGNMENT term",
1388
+ "assignment",
1389
+ 3,
1390
+ "p_assignment",
1391
+ "matcher.py",
1392
+ 177,
1393
+ ),
1394
+ (
1395
+ "assignment -> var ASSIGNMENT function",
1396
+ "assignment",
1397
+ 3,
1398
+ "p_assignment",
1399
+ "matcher.py",
1400
+ 178,
1401
+ ),
1402
+ (
1403
+ "assignment -> var ASSIGNMENT header",
1404
+ "assignment",
1405
+ 3,
1406
+ "p_assignment",
1407
+ "matcher.py",
1408
+ 179,
1409
+ ),
1410
+ ("term -> QUOTE NAME QUOTE", "term", 3, "p_term", "matcher.py", 188),
1411
+ ("term -> QUOTE DATE QUOTE", "term", 3, "p_term", "matcher.py", 189),
1412
+ ("term -> QUOTE NUMBER QUOTE", "term", 3, "p_term", "matcher.py", 190),
1413
+ ("term -> NUMBER", "term", 1, "p_term", "matcher.py", 191),
1414
+ ("term -> REGEX", "term", 1, "p_term", "matcher.py", 192),
1415
+ (
1416
+ "var_or_header -> header",
1417
+ "var_or_header",
1418
+ 1,
1419
+ "p_var_or_header",
1420
+ "matcher.py",
1421
+ 200,
1422
+ ),
1423
+ ("var_or_header -> var", "var_or_header", 1, "p_var_or_header", "matcher.py", 201),
1424
+ ("var -> VAR_SYM NAME", "var", 2, "p_var", "matcher.py", 206),
1425
+ ("header -> HEADER_SYM NAME", "header", 2, "p_header", "matcher.py", 211),
1426
+ ("header -> HEADER_SYM NUMBER", "header", 2, "p_header", "matcher.py", 212),
1427
+ ]