ebnf 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -13,12 +13,13 @@ module Branch
13
13
  :RANGE => [:seq, :_alt_1],
14
14
  :STRING1 => [:seq, :_alt_1],
15
15
  :STRING2 => [:seq, :_alt_1],
16
+ :SYMBOL => [:seq, :_alt_1],
16
17
  },
17
18
  :_alt_1 => {
18
19
  ")" => [],
19
20
  "@pass" => [],
20
21
  "@terminals" => [],
21
- "[" => [],
22
+ :LHS => [],
22
23
  "|" => [:_alt_3],
23
24
  },
24
25
  :_alt_2 => {
@@ -40,43 +41,42 @@ module Branch
40
41
  :RANGE => [:postfix, :_diff_1],
41
42
  :STRING1 => [:postfix, :_diff_1],
42
43
  :STRING2 => [:postfix, :_diff_1],
44
+ :SYMBOL => [:postfix, :_diff_1],
43
45
  },
44
46
  :_diff_1 => {
45
47
  "(" => [],
46
48
  ")" => [],
47
- "-" => [:_diff_3],
49
+ "-" => [:_diff_2],
48
50
  "@pass" => [],
49
51
  "@terminals" => [],
50
52
  :ENUM => [],
51
53
  :HEX => [],
54
+ :LHS => [],
52
55
  :O_ENUM => [],
53
56
  :O_RANGE => [],
54
57
  :RANGE => [],
55
58
  :STRING1 => [],
56
59
  :STRING2 => [],
57
- "[" => [],
60
+ :SYMBOL => [],
58
61
  "|" => [],
59
62
  },
60
63
  :_diff_2 => {
61
64
  "-" => ["-", :postfix],
62
65
  },
63
- :_diff_3 => {
64
- "-" => [:_diff_2, :_diff_1],
65
- },
66
66
  :ebnf => {
67
67
  "@pass" => [:_ebnf_2],
68
68
  "@terminals" => [:_ebnf_2],
69
- "[" => [:_ebnf_2],
69
+ :LHS => [:_ebnf_2],
70
70
  },
71
71
  :_ebnf_1 => {
72
72
  "@pass" => [:declaration],
73
73
  "@terminals" => [:declaration],
74
- "[" => [:rule],
74
+ :LHS => [:rule],
75
75
  },
76
76
  :_ebnf_2 => {
77
77
  "@pass" => [:_ebnf_1, :ebnf],
78
78
  "@terminals" => [:_ebnf_1, :ebnf],
79
- "[" => [:_ebnf_1, :ebnf],
79
+ :LHS => [:_ebnf_1, :ebnf],
80
80
  },
81
81
  :expression => {
82
82
  "(" => [:alt],
@@ -87,79 +87,10 @@ module Branch
87
87
  :RANGE => [:alt],
88
88
  :STRING1 => [:alt],
89
89
  :STRING2 => [:alt],
90
- },
91
- :lhs => {
92
- "[" => ["[", :SYMBOL, "]", :SYMBOL],
90
+ :SYMBOL => [:alt],
93
91
  },
94
92
  :pass => {
95
- "@pass" => ["@pass", :_pass_1],
96
- },
97
- :_pass_1 => {
98
- "#" => [:_pass_2, :_pass_3],
99
- "/*" => [:_pass_2, :_pass_3],
100
- "//" => [:_pass_2, :_pass_3],
101
- :_pass_5 => [:_pass_2, :_pass_3],
102
- },
103
- :_pass_11 => {
104
- :_pass_10 => [:_pass_10, :_pass_9],
105
- },
106
- :_pass_12 => {
107
- "*" => [:_pass_14],
108
- "*/" => [],
109
- :_pass_15 => [:_pass_14],
110
- },
111
- :_pass_13 => {
112
- "*" => [:_pass_16],
113
- :_pass_15 => [:_pass_15],
114
- },
115
- :_pass_14 => {
116
- "*" => [:_pass_13, :_pass_12],
117
- :_pass_15 => [:_pass_13, :_pass_12],
118
- },
119
- :_pass_16 => {
120
- "*" => ["*", :_pass_17],
121
- },
122
- :_pass_2 => {
123
- "#" => [:_pass_6],
124
- "/*" => [:_pass_7],
125
- "//" => [:_pass_6],
126
- :_pass_5 => [:_pass_5],
127
- },
128
- :_pass_3 => {
129
- "#" => [:_pass_4],
130
- "/*" => [:_pass_4],
131
- "//" => [:_pass_4],
132
- "@pass" => [],
133
- "@terminals" => [],
134
- "[" => [],
135
- :_pass_5 => [:_pass_4],
136
- },
137
- :_pass_4 => {
138
- "#" => [:_pass_2, :_pass_3],
139
- "/*" => [:_pass_2, :_pass_3],
140
- "//" => [:_pass_2, :_pass_3],
141
- :_pass_5 => [:_pass_2, :_pass_3],
142
- },
143
- :_pass_6 => {
144
- "#" => [:_pass_8, :_pass_9],
145
- "//" => [:_pass_8, :_pass_9],
146
- },
147
- :_pass_7 => {
148
- "/*" => ["/*", :_pass_12, "*/"],
149
- },
150
- :_pass_8 => {
151
- "#" => ["#"],
152
- "//" => ["//"],
153
- },
154
- :_pass_9 => {
155
- "#" => [],
156
- "/*" => [],
157
- "//" => [],
158
- "@pass" => [],
159
- "@terminals" => [],
160
- "[" => [],
161
- :_pass_10 => [:_pass_11],
162
- :_pass_5 => [],
93
+ "@pass" => ["@pass", :expression],
163
94
  },
164
95
  :postfix => {
165
96
  "(" => [:primary, :_postfix_1],
@@ -170,6 +101,7 @@ module Branch
170
101
  :RANGE => [:primary, :_postfix_1],
171
102
  :STRING1 => [:primary, :_postfix_1],
172
103
  :STRING2 => [:primary, :_postfix_1],
104
+ :SYMBOL => [:primary, :_postfix_1],
173
105
  },
174
106
  :_postfix_1 => {
175
107
  "(" => [],
@@ -179,13 +111,14 @@ module Branch
179
111
  "@terminals" => [],
180
112
  :ENUM => [],
181
113
  :HEX => [],
114
+ :LHS => [],
182
115
  :O_ENUM => [],
183
116
  :O_RANGE => [],
117
+ :POSTFIX => [:POSTFIX],
184
118
  :RANGE => [],
185
119
  :STRING1 => [],
186
120
  :STRING2 => [],
187
- "[" => [],
188
- :_postfix_2 => [:_postfix_2],
121
+ :SYMBOL => [],
189
122
  "|" => [],
190
123
  },
191
124
  :primary => {
@@ -197,12 +130,13 @@ module Branch
197
130
  :RANGE => [:RANGE],
198
131
  :STRING1 => [:STRING1],
199
132
  :STRING2 => [:STRING2],
133
+ :SYMBOL => [:SYMBOL],
200
134
  },
201
135
  :_primary_1 => {
202
136
  "(" => ["(", :expression, ")"],
203
137
  },
204
138
  :rule => {
205
- "[" => [:lhs, "::=", :expression],
139
+ :LHS => [:LHS, :expression],
206
140
  },
207
141
  :seq => {
208
142
  "(" => [:diff, :_seq_1],
@@ -213,6 +147,7 @@ module Branch
213
147
  :RANGE => [:diff, :_seq_1],
214
148
  :STRING1 => [:diff, :_seq_1],
215
149
  :STRING2 => [:diff, :_seq_1],
150
+ :SYMBOL => [:diff, :_seq_1],
216
151
  },
217
152
  :_seq_1 => {
218
153
  "(" => [:_seq_2],
@@ -221,12 +156,13 @@ module Branch
221
156
  "@terminals" => [],
222
157
  :ENUM => [:_seq_2],
223
158
  :HEX => [:_seq_2],
159
+ :LHS => [],
224
160
  :O_ENUM => [:_seq_2],
225
161
  :O_RANGE => [:_seq_2],
226
162
  :RANGE => [:_seq_2],
227
163
  :STRING1 => [:_seq_2],
228
164
  :STRING2 => [:_seq_2],
229
- "[" => [],
165
+ :SYMBOL => [:_seq_2],
230
166
  "|" => [],
231
167
  },
232
168
  :_seq_2 => {
@@ -238,40 +174,31 @@ module Branch
238
174
  :RANGE => [:diff, :_seq_1],
239
175
  :STRING1 => [:diff, :_seq_1],
240
176
  :STRING2 => [:diff, :_seq_1],
177
+ :SYMBOL => [:diff, :_seq_1],
241
178
  },
242
179
  }.freeze
243
180
  TERMINALS = [
244
- "#",
245
181
  "(",
246
182
  ")",
247
- "*",
248
- "*/",
249
183
  "-",
250
- "/*",
251
- "//",
252
- "::=",
253
184
  "@pass",
254
185
  "@terminals",
255
186
  :ENUM,
256
187
  :HEX,
188
+ :LHS,
257
189
  :O_ENUM,
258
190
  :O_RANGE,
191
+ :POSTFIX,
259
192
  :RANGE,
260
193
  :STRING1,
261
194
  :STRING2,
262
195
  :SYMBOL,
263
- "[",
264
- "]",
265
- :_pass_10,
266
- :_pass_15,
267
- :_pass_17,
268
- :_pass_5,
269
- :_postfix_2,
270
196
  "|"
271
197
  ].freeze
272
198
  FIRST = {
273
199
  :alt => [
274
200
  :HEX,
201
+ :SYMBOL,
275
202
  :RANGE,
276
203
  :ENUM,
277
204
  :O_RANGE,
@@ -294,6 +221,7 @@ module Branch
294
221
  "|"],
295
222
  :_alt_6 => [
296
223
  :HEX,
224
+ :SYMBOL,
297
225
  :RANGE,
298
226
  :ENUM,
299
227
  :O_RANGE,
@@ -306,6 +234,7 @@ module Branch
306
234
  "@pass"],
307
235
  :diff => [
308
236
  :HEX,
237
+ :SYMBOL,
309
238
  :RANGE,
310
239
  :ENUM,
311
240
  :O_RANGE,
@@ -319,15 +248,11 @@ module Branch
319
248
  :_diff_2 => [
320
249
  "-"],
321
250
  :_diff_3 => [
322
- "-"],
251
+ "-",
252
+ :_eps],
323
253
  :_diff_4 => [
324
- :_eps,
325
- "-"],
326
- :_diff_5 => [
327
- :_eps,
328
- "-"],
329
- :_diff_6 => [
330
254
  :HEX,
255
+ :SYMBOL,
331
256
  :RANGE,
332
257
  :ENUM,
333
258
  :O_RANGE,
@@ -338,25 +263,26 @@ module Branch
338
263
  :ebnf => [
339
264
  :_eps,
340
265
  "@terminals",
341
- "@pass",
342
- "["],
266
+ :LHS,
267
+ "@pass"],
343
268
  :_ebnf_1 => [
344
269
  "@terminals",
345
- "@pass",
346
- "["],
270
+ :LHS,
271
+ "@pass"],
347
272
  :_ebnf_2 => [
348
273
  "@terminals",
349
- "@pass",
350
- "["],
274
+ :LHS,
275
+ "@pass"],
351
276
  :_ebnf_3 => [
352
277
  :_eps,
353
278
  "@terminals",
354
- "@pass",
355
- "["],
279
+ :LHS,
280
+ "@pass"],
356
281
  :_empty => [
357
282
  :_eps],
358
283
  :expression => [
359
284
  :HEX,
285
+ :SYMBOL,
360
286
  :RANGE,
361
287
  :ENUM,
362
288
  :O_RANGE,
@@ -364,99 +290,21 @@ module Branch
364
290
  :STRING1,
365
291
  :STRING2,
366
292
  "("],
367
- :lhs => [
368
- "["],
369
- :_lhs_1 => [
370
- :SYMBOL],
371
- :_lhs_2 => [
372
- "]"],
373
- :_lhs_3 => [
374
- :SYMBOL],
375
293
  :pass => [
376
294
  "@pass"],
377
295
  :_pass_1 => [
378
- :_pass_5,
379
- "/*",
380
- "#",
381
- "//"],
382
- :_pass_11 => [
383
- :_pass_10],
384
- :_pass_12 => [
385
- :_eps,
386
- :_pass_15,
387
- "*"],
388
- :_pass_13 => [
389
- :_pass_15,
390
- "*"],
391
- :_pass_14 => [
392
- :_pass_15,
393
- "*"],
394
- :_pass_16 => [
395
- "*"],
396
- :_pass_18 => [
397
- :_pass_5,
398
- "/*",
399
- "#",
400
- "//"],
401
- :_pass_19 => [
402
- :_eps,
403
- :_pass_5,
404
- "/*",
405
- "#",
406
- "//"],
407
- :_pass_2 => [
408
- :_pass_5,
409
- "/*",
410
- "#",
411
- "//"],
412
- :_pass_20 => [
413
- :_eps,
414
- :_pass_5,
415
- "/*",
416
- "#",
417
- "//"],
418
- :_pass_21 => [
419
- :_pass_10,
420
- :_eps],
421
- :_pass_22 => [
422
- :_pass_10,
423
- :_eps],
424
- :_pass_23 => [
425
- "*/",
426
- :_pass_15,
427
- "*"],
428
- :_pass_24 => [
429
- :_eps,
430
- :_pass_15,
431
- "*"],
432
- :_pass_25 => [
433
- :_pass_17],
434
- :_pass_26 => [
435
- "*/"],
436
- :_pass_3 => [
437
- :_eps,
438
- :_pass_5,
439
- "/*",
440
- "#",
441
- "//"],
442
- :_pass_4 => [
443
- :_pass_5,
444
- "/*",
445
- "#",
446
- "//"],
447
- :_pass_6 => [
448
- "#",
449
- "//"],
450
- :_pass_7 => [
451
- "/*"],
452
- :_pass_8 => [
453
- "#",
454
- "//"],
455
- :_pass_9 => [
456
- :_eps,
457
- :_pass_10],
296
+ :HEX,
297
+ :SYMBOL,
298
+ :RANGE,
299
+ :ENUM,
300
+ :O_RANGE,
301
+ :O_ENUM,
302
+ :STRING1,
303
+ :STRING2,
304
+ "("],
458
305
  :postfix => [
459
306
  :HEX,
307
+ :SYMBOL,
460
308
  :RANGE,
461
309
  :ENUM,
462
310
  :O_RANGE,
@@ -465,13 +313,14 @@ module Branch
465
313
  :STRING2,
466
314
  "("],
467
315
  :_postfix_1 => [
468
- :_postfix_2,
316
+ :POSTFIX,
469
317
  :_eps],
470
- :_postfix_3 => [
471
- :_postfix_2,
318
+ :_postfix_2 => [
319
+ :POSTFIX,
472
320
  :_eps],
473
321
  :primary => [
474
322
  :HEX,
323
+ :SYMBOL,
475
324
  :RANGE,
476
325
  :ENUM,
477
326
  :O_RANGE,
@@ -483,6 +332,7 @@ module Branch
483
332
  "("],
484
333
  :_primary_2 => [
485
334
  :HEX,
335
+ :SYMBOL,
486
336
  :RANGE,
487
337
  :ENUM,
488
338
  :O_RANGE,
@@ -493,11 +343,10 @@ module Branch
493
343
  :_primary_3 => [
494
344
  ")"],
495
345
  :rule => [
496
- "["],
346
+ :LHS],
497
347
  :_rule_1 => [
498
- "::="],
499
- :_rule_2 => [
500
348
  :HEX,
349
+ :SYMBOL,
501
350
  :RANGE,
502
351
  :ENUM,
503
352
  :O_RANGE,
@@ -507,6 +356,7 @@ module Branch
507
356
  "("],
508
357
  :seq => [
509
358
  :HEX,
359
+ :SYMBOL,
510
360
  :RANGE,
511
361
  :ENUM,
512
362
  :O_RANGE,
@@ -517,6 +367,7 @@ module Branch
517
367
  :_seq_1 => [
518
368
  :_eps,
519
369
  :HEX,
370
+ :SYMBOL,
520
371
  :RANGE,
521
372
  :ENUM,
522
373
  :O_RANGE,
@@ -526,6 +377,7 @@ module Branch
526
377
  "("],
527
378
  :_seq_2 => [
528
379
  :HEX,
380
+ :SYMBOL,
529
381
  :RANGE,
530
382
  :ENUM,
531
383
  :O_RANGE,
@@ -536,6 +388,7 @@ module Branch
536
388
  :_seq_3 => [
537
389
  :_eps,
538
390
  :HEX,
391
+ :SYMBOL,
539
392
  :RANGE,
540
393
  :ENUM,
541
394
  :O_RANGE,
@@ -546,6 +399,7 @@ module Branch
546
399
  :_seq_4 => [
547
400
  :_eps,
548
401
  :HEX,
402
+ :SYMBOL,
549
403
  :RANGE,
550
404
  :ENUM,
551
405
  :O_RANGE,
@@ -559,56 +413,57 @@ module Branch
559
413
  ")",
560
414
  :_eof,
561
415
  "@terminals",
562
- "@pass",
563
- "["],
416
+ :LHS,
417
+ "@pass"],
564
418
  :_alt_1 => [
565
419
  ")",
566
420
  :_eof,
567
421
  "@terminals",
568
- "@pass",
569
- "["],
422
+ :LHS,
423
+ "@pass"],
570
424
  :_alt_2 => [
571
425
  "|",
572
426
  ")",
573
427
  :_eof,
574
428
  "@terminals",
575
- "@pass",
576
- "["],
429
+ :LHS,
430
+ "@pass"],
577
431
  :_alt_3 => [
578
432
  ")",
579
433
  :_eof,
580
434
  "@terminals",
581
- "@pass",
582
- "["],
435
+ :LHS,
436
+ "@pass"],
583
437
  :_alt_4 => [
584
438
  ")",
585
439
  :_eof,
586
440
  "@terminals",
587
- "@pass",
588
- "["],
441
+ :LHS,
442
+ "@pass"],
589
443
  :_alt_5 => [
590
444
  ")",
591
445
  :_eof,
592
446
  "@terminals",
593
- "@pass",
594
- "["],
447
+ :LHS,
448
+ "@pass"],
595
449
  :_alt_6 => [
596
450
  "|",
597
451
  ")",
598
452
  :_eof,
599
453
  "@terminals",
600
- "@pass",
601
- "["],
454
+ :LHS,
455
+ "@pass"],
602
456
  :declaration => [
603
457
  :_eof,
604
458
  "@terminals",
605
- "@pass",
606
- "["],
459
+ :LHS,
460
+ "@pass"],
607
461
  :diff => [
608
462
  ")",
609
463
  "|",
610
464
  :_eof,
611
465
  :HEX,
466
+ :SYMBOL,
612
467
  :RANGE,
613
468
  :ENUM,
614
469
  :O_RANGE,
@@ -616,14 +471,15 @@ module Branch
616
471
  :STRING1,
617
472
  :STRING2,
618
473
  "@terminals",
474
+ :LHS,
619
475
  "(",
620
- "@pass",
621
- "["],
476
+ "@pass"],
622
477
  :_diff_1 => [
623
478
  ")",
624
479
  "|",
625
480
  :_eof,
626
481
  :HEX,
482
+ :SYMBOL,
627
483
  :RANGE,
628
484
  :ENUM,
629
485
  :O_RANGE,
@@ -631,15 +487,15 @@ module Branch
631
487
  :STRING1,
632
488
  :STRING2,
633
489
  "@terminals",
490
+ :LHS,
634
491
  "(",
635
- "@pass",
636
- "["],
492
+ "@pass"],
637
493
  :_diff_2 => [
638
- "-",
639
494
  ")",
640
495
  "|",
641
496
  :_eof,
642
497
  :HEX,
498
+ :SYMBOL,
643
499
  :RANGE,
644
500
  :ENUM,
645
501
  :O_RANGE,
@@ -647,14 +503,15 @@ module Branch
647
503
  :STRING1,
648
504
  :STRING2,
649
505
  "@terminals",
506
+ :LHS,
650
507
  "(",
651
- "@pass",
652
- "["],
508
+ "@pass"],
653
509
  :_diff_3 => [
654
510
  ")",
655
511
  "|",
656
512
  :_eof,
657
513
  :HEX,
514
+ :SYMBOL,
658
515
  :RANGE,
659
516
  :ENUM,
660
517
  :O_RANGE,
@@ -662,14 +519,15 @@ module Branch
662
519
  :STRING1,
663
520
  :STRING2,
664
521
  "@terminals",
522
+ :LHS,
665
523
  "(",
666
- "@pass",
667
- "["],
524
+ "@pass"],
668
525
  :_diff_4 => [
669
526
  ")",
670
527
  "|",
671
528
  :_eof,
672
529
  :HEX,
530
+ :SYMBOL,
673
531
  :RANGE,
674
532
  :ENUM,
675
533
  :O_RANGE,
@@ -677,47 +535,16 @@ module Branch
677
535
  :STRING1,
678
536
  :STRING2,
679
537
  "@terminals",
538
+ :LHS,
680
539
  "(",
681
- "@pass",
682
- "["],
683
- :_diff_5 => [
684
- ")",
685
- "|",
686
- :_eof,
687
- :HEX,
688
- :RANGE,
689
- :ENUM,
690
- :O_RANGE,
691
- :O_ENUM,
692
- :STRING1,
693
- :STRING2,
694
- "@terminals",
695
- "(",
696
- "@pass",
697
- "["],
698
- :_diff_6 => [
699
- "-",
700
- ")",
701
- "|",
702
- :_eof,
703
- :HEX,
704
- :RANGE,
705
- :ENUM,
706
- :O_RANGE,
707
- :O_ENUM,
708
- :STRING1,
709
- :STRING2,
710
- "@terminals",
711
- "(",
712
- "@pass",
713
- "["],
540
+ "@pass"],
714
541
  :ebnf => [
715
542
  :_eof],
716
543
  :_ebnf_1 => [
717
544
  :_eof,
718
545
  "@terminals",
719
- "@pass",
720
- "["],
546
+ :LHS,
547
+ "@pass"],
721
548
  :_ebnf_2 => [
722
549
  :_eof],
723
550
  :_ebnf_3 => [
@@ -726,166 +553,25 @@ module Branch
726
553
  ")",
727
554
  :_eof,
728
555
  "@terminals",
729
- "@pass",
730
- "["],
731
- :lhs => [
732
- "::="],
733
- :_lhs_1 => [
734
- "::="],
735
- :_lhs_2 => [
736
- "::="],
737
- :_lhs_3 => [
738
- "::="],
556
+ :LHS,
557
+ "@pass"],
739
558
  :pass => [
740
559
  :_eof,
741
560
  "@terminals",
742
- "@pass",
743
- "["],
561
+ :LHS,
562
+ "@pass"],
744
563
  :_pass_1 => [
745
564
  :_eof,
746
565
  "@terminals",
747
- "@pass",
748
- "["],
749
- :_pass_11 => [
750
- :_pass_5,
751
- :_eof,
752
- "/*",
753
- "#",
754
- "//",
755
- "@terminals",
756
- "@pass",
757
- "["],
758
- :_pass_12 => [
759
- "*/"],
760
- :_pass_13 => [
761
- "*/",
762
- :_pass_15,
763
- "*"],
764
- :_pass_14 => [
765
- "*/"],
766
- :_pass_16 => [
767
- "*/",
768
- :_pass_15,
769
- "*"],
770
- :_pass_18 => [
771
- :_eof,
772
- "@terminals",
773
- "@pass",
774
- "["],
775
- :_pass_19 => [
776
- :_eof,
777
- "@terminals",
778
- "@pass",
779
- "["],
780
- :_pass_2 => [
781
- :_pass_5,
782
- :_eof,
783
- "/*",
784
- "#",
785
- "//",
786
- "@terminals",
787
- "@pass",
788
- "["],
789
- :_pass_20 => [
790
- :_eof,
791
- "@terminals",
792
- "@pass",
793
- "["],
794
- :_pass_21 => [
795
- :_pass_5,
796
- :_eof,
797
- "/*",
798
- "#",
799
- "//",
800
- "@terminals",
801
- "@pass",
802
- "["],
803
- :_pass_22 => [
804
- :_pass_5,
805
- :_eof,
806
- "/*",
807
- "#",
808
- "//",
809
- "@terminals",
810
- "@pass",
811
- "["],
812
- :_pass_23 => [
813
- :_pass_5,
814
- :_eof,
815
- "/*",
816
- "#",
817
- "//",
818
- "@terminals",
819
- "@pass",
820
- "["],
821
- :_pass_24 => [
822
- "*/"],
823
- :_pass_25 => [
824
- "*/",
825
- :_pass_15,
826
- "*"],
827
- :_pass_26 => [
828
- :_pass_5,
829
- :_eof,
830
- "/*",
831
- "#",
832
- "//",
833
- "@terminals",
834
- "@pass",
835
- "["],
836
- :_pass_3 => [
837
- :_eof,
838
- "@terminals",
839
- "@pass",
840
- "["],
841
- :_pass_4 => [
842
- :_eof,
843
- "@terminals",
844
- "@pass",
845
- "["],
846
- :_pass_6 => [
847
- :_pass_5,
848
- :_eof,
849
- "/*",
850
- "#",
851
- "//",
852
- "@terminals",
853
- "@pass",
854
- "["],
855
- :_pass_7 => [
856
- :_pass_5,
857
- :_eof,
858
- "/*",
859
- "#",
860
- "//",
861
- "@terminals",
862
- "@pass",
863
- "["],
864
- :_pass_8 => [
865
- :_pass_10,
866
- :_pass_5,
867
- :_eof,
868
- "/*",
869
- "#",
870
- "//",
871
- "@terminals",
872
- "@pass",
873
- "["],
874
- :_pass_9 => [
875
- :_pass_5,
876
- :_eof,
877
- "/*",
878
- "#",
879
- "//",
880
- "@terminals",
881
- "@pass",
882
- "["],
566
+ :LHS,
567
+ "@pass"],
883
568
  :postfix => [
884
- ")",
885
569
  "-",
570
+ ")",
886
571
  "|",
887
572
  :_eof,
888
573
  :HEX,
574
+ :SYMBOL,
889
575
  :RANGE,
890
576
  :ENUM,
891
577
  :O_RANGE,
@@ -893,15 +579,16 @@ module Branch
893
579
  :STRING1,
894
580
  :STRING2,
895
581
  "@terminals",
582
+ :LHS,
896
583
  "(",
897
- "@pass",
898
- "["],
584
+ "@pass"],
899
585
  :_postfix_1 => [
900
- ")",
901
586
  "-",
587
+ ")",
902
588
  "|",
903
589
  :_eof,
904
590
  :HEX,
591
+ :SYMBOL,
905
592
  :RANGE,
906
593
  :ENUM,
907
594
  :O_RANGE,
@@ -909,15 +596,16 @@ module Branch
909
596
  :STRING1,
910
597
  :STRING2,
911
598
  "@terminals",
599
+ :LHS,
912
600
  "(",
913
- "@pass",
914
- "["],
915
- :_postfix_3 => [
916
- ")",
601
+ "@pass"],
602
+ :_postfix_2 => [
917
603
  "-",
604
+ ")",
918
605
  "|",
919
606
  :_eof,
920
607
  :HEX,
608
+ :SYMBOL,
921
609
  :RANGE,
922
610
  :ENUM,
923
611
  :O_RANGE,
@@ -925,16 +613,17 @@ module Branch
925
613
  :STRING1,
926
614
  :STRING2,
927
615
  "@terminals",
616
+ :LHS,
928
617
  "(",
929
- "@pass",
930
- "["],
618
+ "@pass"],
931
619
  :primary => [
932
- :_postfix_2,
933
- ")",
620
+ :POSTFIX,
934
621
  "-",
622
+ ")",
935
623
  "|",
936
624
  :_eof,
937
625
  :HEX,
626
+ :SYMBOL,
938
627
  :RANGE,
939
628
  :ENUM,
940
629
  :O_RANGE,
@@ -942,16 +631,17 @@ module Branch
942
631
  :STRING1,
943
632
  :STRING2,
944
633
  "@terminals",
634
+ :LHS,
945
635
  "(",
946
- "@pass",
947
- "["],
636
+ "@pass"],
948
637
  :_primary_1 => [
949
- :_postfix_2,
950
- ")",
638
+ :POSTFIX,
951
639
  "-",
640
+ ")",
952
641
  "|",
953
642
  :_eof,
954
643
  :HEX,
644
+ :SYMBOL,
955
645
  :RANGE,
956
646
  :ENUM,
957
647
  :O_RANGE,
@@ -959,16 +649,17 @@ module Branch
959
649
  :STRING1,
960
650
  :STRING2,
961
651
  "@terminals",
652
+ :LHS,
962
653
  "(",
963
- "@pass",
964
- "["],
654
+ "@pass"],
965
655
  :_primary_2 => [
966
- :_postfix_2,
967
- ")",
656
+ :POSTFIX,
968
657
  "-",
658
+ ")",
969
659
  "|",
970
660
  :_eof,
971
661
  :HEX,
662
+ :SYMBOL,
972
663
  :RANGE,
973
664
  :ENUM,
974
665
  :O_RANGE,
@@ -976,16 +667,17 @@ module Branch
976
667
  :STRING1,
977
668
  :STRING2,
978
669
  "@terminals",
670
+ :LHS,
979
671
  "(",
980
- "@pass",
981
- "["],
672
+ "@pass"],
982
673
  :_primary_3 => [
983
- :_postfix_2,
984
- ")",
674
+ :POSTFIX,
985
675
  "-",
676
+ ")",
986
677
  "|",
987
678
  :_eof,
988
679
  :HEX,
680
+ :SYMBOL,
989
681
  :RANGE,
990
682
  :ENUM,
991
683
  :O_RANGE,
@@ -993,59 +685,57 @@ module Branch
993
685
  :STRING1,
994
686
  :STRING2,
995
687
  "@terminals",
688
+ :LHS,
996
689
  "(",
997
- "@pass",
998
- "["],
690
+ "@pass"],
999
691
  :rule => [
1000
692
  :_eof,
1001
693
  "@terminals",
1002
- "@pass",
1003
- "["],
694
+ :LHS,
695
+ "@pass"],
1004
696
  :_rule_1 => [
1005
697
  :_eof,
1006
698
  "@terminals",
1007
- "@pass",
1008
- "["],
1009
- :_rule_2 => [
1010
- :_eof,
1011
- "@terminals",
1012
- "@pass",
1013
- "["],
699
+ :LHS,
700
+ "@pass"],
1014
701
  :seq => [
1015
702
  ")",
1016
703
  "|",
1017
704
  :_eof,
1018
705
  "@terminals",
1019
- "@pass",
1020
- "["],
706
+ :LHS,
707
+ "@pass"],
1021
708
  :_seq_1 => [
1022
709
  ")",
1023
710
  "|",
1024
711
  :_eof,
1025
712
  "@terminals",
1026
- "@pass",
1027
- "["],
713
+ :LHS,
714
+ "@pass"],
1028
715
  :_seq_2 => [
1029
716
  ")",
1030
717
  "|",
1031
718
  :_eof,
1032
719
  "@terminals",
1033
- "@pass",
1034
- "["],
720
+ :LHS,
721
+ "@pass"],
1035
722
  :_seq_3 => [
1036
723
  ")",
1037
724
  "|",
1038
725
  :_eof,
1039
726
  "@terminals",
1040
- "@pass",
1041
- "["],
727
+ :LHS,
728
+ "@pass"],
1042
729
  :_seq_4 => [
1043
730
  ")",
1044
731
  "|",
1045
732
  :_eof,
1046
733
  "@terminals",
1047
- "@pass",
1048
- "["],
734
+ :LHS,
735
+ "@pass"],
1049
736
  }.freeze
737
+ PASS = [
738
+ :PASS
739
+ ].freeze
1050
740
  end
1051
741