ebnf 2.0.0 → 2.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.
@@ -5,9 +5,7 @@ module Meta
5
5
  BRANCH = {
6
6
  :alt => {
7
7
  "(" => [:seq, :_alt_1],
8
- :ENUM => [:seq, :_alt_1],
9
8
  :HEX => [:seq, :_alt_1],
10
- :O_ENUM => [:seq, :_alt_1],
11
9
  :O_RANGE => [:seq, :_alt_1],
12
10
  :RANGE => [:seq, :_alt_1],
13
11
  :STRING1 => [:seq, :_alt_1],
@@ -33,9 +31,7 @@ module Meta
33
31
  },
34
32
  :diff => {
35
33
  "(" => [:postfix, :_diff_1],
36
- :ENUM => [:postfix, :_diff_1],
37
34
  :HEX => [:postfix, :_diff_1],
38
- :O_ENUM => [:postfix, :_diff_1],
39
35
  :O_RANGE => [:postfix, :_diff_1],
40
36
  :RANGE => [:postfix, :_diff_1],
41
37
  :STRING1 => [:postfix, :_diff_1],
@@ -48,10 +44,8 @@ module Meta
48
44
  "-" => [:_diff_2],
49
45
  "@pass" => [],
50
46
  "@terminals" => [],
51
- :ENUM => [],
52
47
  :HEX => [],
53
48
  :LHS => [],
54
- :O_ENUM => [],
55
49
  :O_RANGE => [],
56
50
  :RANGE => [],
57
51
  :STRING1 => [],
@@ -79,9 +73,7 @@ module Meta
79
73
  },
80
74
  :expression => {
81
75
  "(" => [:alt],
82
- :ENUM => [:alt],
83
76
  :HEX => [:alt],
84
- :O_ENUM => [:alt],
85
77
  :O_RANGE => [:alt],
86
78
  :RANGE => [:alt],
87
79
  :STRING1 => [:alt],
@@ -93,9 +85,7 @@ module Meta
93
85
  },
94
86
  :postfix => {
95
87
  "(" => [:primary, :_postfix_1],
96
- :ENUM => [:primary, :_postfix_1],
97
88
  :HEX => [:primary, :_postfix_1],
98
- :O_ENUM => [:primary, :_postfix_1],
99
89
  :O_RANGE => [:primary, :_postfix_1],
100
90
  :RANGE => [:primary, :_postfix_1],
101
91
  :STRING1 => [:primary, :_postfix_1],
@@ -108,10 +98,8 @@ module Meta
108
98
  "-" => [],
109
99
  "@pass" => [],
110
100
  "@terminals" => [],
111
- :ENUM => [],
112
101
  :HEX => [],
113
102
  :LHS => [],
114
- :O_ENUM => [],
115
103
  :O_RANGE => [],
116
104
  :POSTFIX => [:POSTFIX],
117
105
  :RANGE => [],
@@ -122,9 +110,7 @@ module Meta
122
110
  },
123
111
  :primary => {
124
112
  "(" => [:_primary_1],
125
- :ENUM => [:ENUM],
126
113
  :HEX => [:HEX],
127
- :O_ENUM => [:O_ENUM],
128
114
  :O_RANGE => [:O_RANGE],
129
115
  :RANGE => [:RANGE],
130
116
  :STRING1 => [:STRING1],
@@ -139,9 +125,7 @@ module Meta
139
125
  },
140
126
  :seq => {
141
127
  "(" => [:diff, :_seq_1],
142
- :ENUM => [:diff, :_seq_1],
143
128
  :HEX => [:diff, :_seq_1],
144
- :O_ENUM => [:diff, :_seq_1],
145
129
  :O_RANGE => [:diff, :_seq_1],
146
130
  :RANGE => [:diff, :_seq_1],
147
131
  :STRING1 => [:diff, :_seq_1],
@@ -153,10 +137,8 @@ module Meta
153
137
  ")" => [],
154
138
  "@pass" => [],
155
139
  "@terminals" => [],
156
- :ENUM => [:_seq_2],
157
140
  :HEX => [:_seq_2],
158
141
  :LHS => [],
159
- :O_ENUM => [:_seq_2],
160
142
  :O_RANGE => [:_seq_2],
161
143
  :RANGE => [:_seq_2],
162
144
  :STRING1 => [:_seq_2],
@@ -166,9 +148,7 @@ module Meta
166
148
  },
167
149
  :_seq_2 => {
168
150
  "(" => [:diff, :_seq_1],
169
- :ENUM => [:diff, :_seq_1],
170
151
  :HEX => [:diff, :_seq_1],
171
- :O_ENUM => [:diff, :_seq_1],
172
152
  :O_RANGE => [:diff, :_seq_1],
173
153
  :RANGE => [:diff, :_seq_1],
174
154
  :STRING1 => [:diff, :_seq_1],
@@ -182,10 +162,8 @@ module Meta
182
162
  "-",
183
163
  "@pass",
184
164
  "@terminals",
185
- :ENUM,
186
165
  :HEX,
187
166
  :LHS,
188
- :O_ENUM,
189
167
  :O_RANGE,
190
168
  :POSTFIX,
191
169
  :RANGE,
@@ -198,10 +176,8 @@ module Meta
198
176
  :alt => [
199
177
  :HEX,
200
178
  :SYMBOL,
201
- :ENUM,
202
- :O_ENUM,
203
- :RANGE,
204
179
  :O_RANGE,
180
+ :RANGE,
205
181
  :STRING1,
206
182
  :STRING2,
207
183
  "("],
@@ -221,10 +197,8 @@ module Meta
221
197
  :_alt_6 => [
222
198
  :HEX,
223
199
  :SYMBOL,
224
- :ENUM,
225
- :O_ENUM,
226
- :RANGE,
227
200
  :O_RANGE,
201
+ :RANGE,
228
202
  :STRING1,
229
203
  :STRING2,
230
204
  "("],
@@ -234,10 +208,8 @@ module Meta
234
208
  :diff => [
235
209
  :HEX,
236
210
  :SYMBOL,
237
- :ENUM,
238
- :O_ENUM,
239
- :RANGE,
240
211
  :O_RANGE,
212
+ :RANGE,
241
213
  :STRING1,
242
214
  :STRING2,
243
215
  "("],
@@ -252,10 +224,8 @@ module Meta
252
224
  :_diff_4 => [
253
225
  :HEX,
254
226
  :SYMBOL,
255
- :ENUM,
256
- :O_ENUM,
257
- :RANGE,
258
227
  :O_RANGE,
228
+ :RANGE,
259
229
  :STRING1,
260
230
  :STRING2,
261
231
  "("],
@@ -282,10 +252,8 @@ module Meta
282
252
  :expression => [
283
253
  :HEX,
284
254
  :SYMBOL,
285
- :ENUM,
286
- :O_ENUM,
287
- :RANGE,
288
255
  :O_RANGE,
256
+ :RANGE,
289
257
  :STRING1,
290
258
  :STRING2,
291
259
  "("],
@@ -294,20 +262,16 @@ module Meta
294
262
  :_pass_1 => [
295
263
  :HEX,
296
264
  :SYMBOL,
297
- :ENUM,
298
- :O_ENUM,
299
- :RANGE,
300
265
  :O_RANGE,
266
+ :RANGE,
301
267
  :STRING1,
302
268
  :STRING2,
303
269
  "("],
304
270
  :postfix => [
305
271
  :HEX,
306
272
  :SYMBOL,
307
- :ENUM,
308
- :O_ENUM,
309
- :RANGE,
310
273
  :O_RANGE,
274
+ :RANGE,
311
275
  :STRING1,
312
276
  :STRING2,
313
277
  "("],
@@ -320,10 +284,8 @@ module Meta
320
284
  :primary => [
321
285
  :HEX,
322
286
  :SYMBOL,
323
- :ENUM,
324
- :O_ENUM,
325
- :RANGE,
326
287
  :O_RANGE,
288
+ :RANGE,
327
289
  :STRING1,
328
290
  :STRING2,
329
291
  "("],
@@ -332,10 +294,8 @@ module Meta
332
294
  :_primary_2 => [
333
295
  :HEX,
334
296
  :SYMBOL,
335
- :ENUM,
336
- :O_ENUM,
337
- :RANGE,
338
297
  :O_RANGE,
298
+ :RANGE,
339
299
  :STRING1,
340
300
  :STRING2,
341
301
  "("],
@@ -346,20 +306,16 @@ module Meta
346
306
  :_rule_1 => [
347
307
  :HEX,
348
308
  :SYMBOL,
349
- :ENUM,
350
- :O_ENUM,
351
- :RANGE,
352
309
  :O_RANGE,
310
+ :RANGE,
353
311
  :STRING1,
354
312
  :STRING2,
355
313
  "("],
356
314
  :seq => [
357
315
  :HEX,
358
316
  :SYMBOL,
359
- :ENUM,
360
- :O_ENUM,
361
- :RANGE,
362
317
  :O_RANGE,
318
+ :RANGE,
363
319
  :STRING1,
364
320
  :STRING2,
365
321
  "("],
@@ -367,20 +323,16 @@ module Meta
367
323
  :_eps,
368
324
  :HEX,
369
325
  :SYMBOL,
370
- :ENUM,
371
- :O_ENUM,
372
- :RANGE,
373
326
  :O_RANGE,
327
+ :RANGE,
374
328
  :STRING1,
375
329
  :STRING2,
376
330
  "("],
377
331
  :_seq_2 => [
378
332
  :HEX,
379
333
  :SYMBOL,
380
- :ENUM,
381
- :O_ENUM,
382
- :RANGE,
383
334
  :O_RANGE,
335
+ :RANGE,
384
336
  :STRING1,
385
337
  :STRING2,
386
338
  "("],
@@ -388,10 +340,8 @@ module Meta
388
340
  :_eps,
389
341
  :HEX,
390
342
  :SYMBOL,
391
- :ENUM,
392
- :O_ENUM,
393
- :RANGE,
394
343
  :O_RANGE,
344
+ :RANGE,
395
345
  :STRING1,
396
346
  :STRING2,
397
347
  "("],
@@ -399,10 +349,8 @@ module Meta
399
349
  :_eps,
400
350
  :HEX,
401
351
  :SYMBOL,
402
- :ENUM,
403
- :O_ENUM,
404
- :RANGE,
405
352
  :O_RANGE,
353
+ :RANGE,
406
354
  :STRING1,
407
355
  :STRING2,
408
356
  "("],
@@ -463,10 +411,8 @@ module Meta
463
411
  :_eof,
464
412
  :HEX,
465
413
  :SYMBOL,
466
- :ENUM,
467
- :O_ENUM,
468
- :RANGE,
469
414
  :O_RANGE,
415
+ :RANGE,
470
416
  :STRING1,
471
417
  :STRING2,
472
418
  "@terminals",
@@ -479,10 +425,8 @@ module Meta
479
425
  :_eof,
480
426
  :HEX,
481
427
  :SYMBOL,
482
- :ENUM,
483
- :O_ENUM,
484
- :RANGE,
485
428
  :O_RANGE,
429
+ :RANGE,
486
430
  :STRING1,
487
431
  :STRING2,
488
432
  "@terminals",
@@ -495,10 +439,8 @@ module Meta
495
439
  :_eof,
496
440
  :HEX,
497
441
  :SYMBOL,
498
- :ENUM,
499
- :O_ENUM,
500
- :RANGE,
501
442
  :O_RANGE,
443
+ :RANGE,
502
444
  :STRING1,
503
445
  :STRING2,
504
446
  "@terminals",
@@ -511,10 +453,8 @@ module Meta
511
453
  :_eof,
512
454
  :HEX,
513
455
  :SYMBOL,
514
- :ENUM,
515
- :O_ENUM,
516
- :RANGE,
517
456
  :O_RANGE,
457
+ :RANGE,
518
458
  :STRING1,
519
459
  :STRING2,
520
460
  "@terminals",
@@ -527,10 +467,8 @@ module Meta
527
467
  :_eof,
528
468
  :HEX,
529
469
  :SYMBOL,
530
- :ENUM,
531
- :O_ENUM,
532
- :RANGE,
533
470
  :O_RANGE,
471
+ :RANGE,
534
472
  :STRING1,
535
473
  :STRING2,
536
474
  "@terminals",
@@ -571,10 +509,8 @@ module Meta
571
509
  :_eof,
572
510
  :HEX,
573
511
  :SYMBOL,
574
- :ENUM,
575
- :O_ENUM,
576
- :RANGE,
577
512
  :O_RANGE,
513
+ :RANGE,
578
514
  :STRING1,
579
515
  :STRING2,
580
516
  "@terminals",
@@ -588,10 +524,8 @@ module Meta
588
524
  :_eof,
589
525
  :HEX,
590
526
  :SYMBOL,
591
- :ENUM,
592
- :O_ENUM,
593
- :RANGE,
594
527
  :O_RANGE,
528
+ :RANGE,
595
529
  :STRING1,
596
530
  :STRING2,
597
531
  "@terminals",
@@ -605,10 +539,8 @@ module Meta
605
539
  :_eof,
606
540
  :HEX,
607
541
  :SYMBOL,
608
- :ENUM,
609
- :O_ENUM,
610
- :RANGE,
611
542
  :O_RANGE,
543
+ :RANGE,
612
544
  :STRING1,
613
545
  :STRING2,
614
546
  "@terminals",
@@ -623,10 +555,8 @@ module Meta
623
555
  :_eof,
624
556
  :HEX,
625
557
  :SYMBOL,
626
- :ENUM,
627
- :O_ENUM,
628
- :RANGE,
629
558
  :O_RANGE,
559
+ :RANGE,
630
560
  :STRING1,
631
561
  :STRING2,
632
562
  "@terminals",
@@ -641,10 +571,8 @@ module Meta
641
571
  :_eof,
642
572
  :HEX,
643
573
  :SYMBOL,
644
- :ENUM,
645
- :O_ENUM,
646
- :RANGE,
647
574
  :O_RANGE,
575
+ :RANGE,
648
576
  :STRING1,
649
577
  :STRING2,
650
578
  "@terminals",
@@ -659,10 +587,8 @@ module Meta
659
587
  :_eof,
660
588
  :HEX,
661
589
  :SYMBOL,
662
- :ENUM,
663
- :O_ENUM,
664
- :RANGE,
665
590
  :O_RANGE,
591
+ :RANGE,
666
592
  :STRING1,
667
593
  :STRING2,
668
594
  "@terminals",
@@ -677,10 +603,8 @@ module Meta
677
603
  :_eof,
678
604
  :HEX,
679
605
  :SYMBOL,
680
- :ENUM,
681
- :O_ENUM,
682
- :RANGE,
683
606
  :O_RANGE,
607
+ :RANGE,
684
608
  :STRING1,
685
609
  :STRING2,
686
610
  "@terminals",
@@ -1,37 +1,31 @@
1
1
  (
2
2
  (rule _empty "0" (first _eps) (seq))
3
- (pass (seq PASS))
4
3
  (rule ebnf "1"
5
4
  (start #t)
6
5
  (first "@pass" "@terminals" LHS _eps)
7
6
  (follow _eof)
8
7
  (cleanup star)
9
8
  (alt _empty _ebnf_2))
10
- (rule _ebnf_1 "1.1"
11
- (first "@pass" "@terminals" LHS)
12
- (follow "@pass" "@terminals" LHS _eof)
13
- (alt declaration rule))
14
9
  (rule _ebnf_2 "1.2"
15
10
  (first "@pass" "@terminals" LHS)
16
11
  (follow _eof)
17
12
  (cleanup merge)
18
13
  (seq _ebnf_1 ebnf))
19
- (rule _ebnf_3 "1.3" (first "@pass" "@terminals" LHS _eps) (follow _eof) (seq ebnf))
14
+ (rule _ebnf_1 "1.1"
15
+ (first "@pass" "@terminals" LHS)
16
+ (follow "@pass" "@terminals" LHS _eof)
17
+ (alt declaration rule))
20
18
  (rule declaration "2"
21
19
  (first "@pass" "@terminals")
22
20
  (follow "@pass" "@terminals" LHS _eof)
23
21
  (alt "@terminals" pass))
24
22
  (rule rule "3" (first LHS) (follow "@pass" "@terminals" LHS _eof) (seq LHS expression))
25
- (rule _rule_1 "3.1"
26
- (first "(" ENUM HEX O_ENUM O_RANGE RANGE STRING1 STRING2 SYMBOL)
27
- (follow "@pass" "@terminals" LHS _eof)
28
- (seq expression))
29
23
  (rule expression "4"
30
- (first "(" ENUM HEX O_ENUM O_RANGE RANGE STRING1 STRING2 SYMBOL)
24
+ (first "(" HEX O_RANGE RANGE STRING1 STRING2 SYMBOL)
31
25
  (follow ")" "@pass" "@terminals" LHS _eof)
32
26
  (seq alt))
33
27
  (rule alt "5"
34
- (first "(" ENUM HEX O_ENUM O_RANGE RANGE STRING1 STRING2 SYMBOL)
28
+ (first "(" HEX O_RANGE RANGE STRING1 STRING2 SYMBOL)
35
29
  (follow ")" "@pass" "@terminals" LHS _eof)
36
30
  (seq seq _alt_1))
37
31
  (rule _alt_1 "5.1"
@@ -39,141 +33,150 @@
39
33
  (follow ")" "@pass" "@terminals" LHS _eof)
40
34
  (cleanup star)
41
35
  (alt _empty _alt_3))
42
- (rule _alt_2 "5.2"
43
- (first "|")
44
- (follow ")" "@pass" "@terminals" LHS _eof "|")
45
- (seq "|" seq))
46
36
  (rule _alt_3 "5.3"
47
37
  (first "|")
48
38
  (follow ")" "@pass" "@terminals" LHS _eof)
49
39
  (cleanup merge)
50
40
  (seq _alt_2 _alt_1))
51
- (rule _alt_4 "5.4"
52
- (first _eps "|")
53
- (follow ")" "@pass" "@terminals" LHS _eof)
54
- (seq _alt_1))
55
- (rule _alt_5 "5.5"
56
- (first _eps "|")
57
- (follow ")" "@pass" "@terminals" LHS _eof)
58
- (seq _alt_1))
59
- (rule _alt_6 "5.6"
60
- (first "(" ENUM HEX O_ENUM O_RANGE RANGE STRING1 STRING2 SYMBOL)
41
+ (rule _alt_2 "5.2"
42
+ (first "|")
61
43
  (follow ")" "@pass" "@terminals" LHS _eof "|")
62
- (seq seq))
44
+ (seq "|" seq))
63
45
  (rule seq "6"
64
- (first "(" ENUM HEX O_ENUM O_RANGE RANGE STRING1 STRING2 SYMBOL)
46
+ (first "(" HEX O_RANGE RANGE STRING1 STRING2 SYMBOL)
65
47
  (follow ")" "@pass" "@terminals" LHS _eof "|")
66
48
  (cleanup plus)
67
49
  (seq diff _seq_1))
68
50
  (rule _seq_1 "6.1"
69
- (first "(" ENUM HEX O_ENUM O_RANGE RANGE STRING1 STRING2 SYMBOL _eps)
51
+ (first "(" HEX O_RANGE RANGE STRING1 STRING2 SYMBOL _eps)
70
52
  (follow ")" "@pass" "@terminals" LHS _eof "|")
71
53
  (cleanup star)
72
54
  (alt _empty _seq_2))
73
55
  (rule _seq_2 "6.2"
74
- (first "(" ENUM HEX O_ENUM O_RANGE RANGE STRING1 STRING2 SYMBOL)
56
+ (first "(" HEX O_RANGE RANGE STRING1 STRING2 SYMBOL)
75
57
  (follow ")" "@pass" "@terminals" LHS _eof "|")
76
58
  (cleanup merge)
77
59
  (seq diff _seq_1))
78
- (rule _seq_3 "6.3"
79
- (first "(" ENUM HEX O_ENUM O_RANGE RANGE STRING1 STRING2 SYMBOL _eps)
80
- (follow ")" "@pass" "@terminals" LHS _eof "|")
81
- (seq _seq_1))
82
- (rule _seq_4 "6.4"
83
- (first "(" ENUM HEX O_ENUM O_RANGE RANGE STRING1 STRING2 SYMBOL _eps)
84
- (follow ")" "@pass" "@terminals" LHS _eof "|")
85
- (seq _seq_1))
86
60
  (rule diff "7"
87
- (first "(" ENUM HEX O_ENUM O_RANGE RANGE STRING1 STRING2 SYMBOL)
88
- (follow "(" ")" "@pass" "@terminals" ENUM HEX LHS O_ENUM O_RANGE RANGE
89
- STRING1 STRING2 SYMBOL _eof "|" )
61
+ (first "(" HEX O_RANGE RANGE STRING1 STRING2 SYMBOL)
62
+ (follow "(" ")" "@pass" "@terminals" HEX LHS O_RANGE RANGE STRING1 STRING2
63
+ SYMBOL _eof "|" )
90
64
  (seq postfix _diff_1))
91
65
  (rule _diff_1 "7.1"
92
66
  (first "-" _eps)
93
- (follow "(" ")" "@pass" "@terminals" ENUM HEX LHS O_ENUM O_RANGE RANGE
94
- STRING1 STRING2 SYMBOL _eof "|" )
67
+ (follow "(" ")" "@pass" "@terminals" HEX LHS O_RANGE RANGE STRING1 STRING2
68
+ SYMBOL _eof "|" )
95
69
  (cleanup opt)
96
70
  (alt _empty _diff_2))
97
71
  (rule _diff_2 "7.2"
98
72
  (first "-")
99
- (follow "(" ")" "@pass" "@terminals" ENUM HEX LHS O_ENUM O_RANGE RANGE
100
- STRING1 STRING2 SYMBOL _eof "|" )
73
+ (follow "(" ")" "@pass" "@terminals" HEX LHS O_RANGE RANGE STRING1 STRING2
74
+ SYMBOL _eof "|" )
101
75
  (seq "-" postfix))
102
- (rule _diff_3 "7.3"
103
- (first "-" _eps)
104
- (follow "(" ")" "@pass" "@terminals" ENUM HEX LHS O_ENUM O_RANGE RANGE
105
- STRING1 STRING2 SYMBOL _eof "|" )
106
- (seq _diff_1))
107
- (rule _diff_4 "7.4"
108
- (first "(" ENUM HEX O_ENUM O_RANGE RANGE STRING1 STRING2 SYMBOL)
109
- (follow "(" ")" "@pass" "@terminals" ENUM HEX LHS O_ENUM O_RANGE RANGE
110
- STRING1 STRING2 SYMBOL _eof "|" )
111
- (seq postfix))
112
76
  (rule postfix "8"
113
- (first "(" ENUM HEX O_ENUM O_RANGE RANGE STRING1 STRING2 SYMBOL)
114
- (follow "(" ")" "-" "@pass" "@terminals" ENUM HEX LHS O_ENUM O_RANGE RANGE
115
- STRING1 STRING2 SYMBOL _eof "|" )
77
+ (first "(" HEX O_RANGE RANGE STRING1 STRING2 SYMBOL)
78
+ (follow "(" ")" "-" "@pass" "@terminals" HEX LHS O_RANGE RANGE STRING1
79
+ STRING2 SYMBOL _eof "|" )
116
80
  (seq primary _postfix_1))
117
81
  (rule _postfix_1 "8.1"
118
82
  (first POSTFIX _eps)
119
- (follow "(" ")" "-" "@pass" "@terminals" ENUM HEX LHS O_ENUM O_RANGE RANGE
120
- STRING1 STRING2 SYMBOL _eof "|" )
83
+ (follow "(" ")" "-" "@pass" "@terminals" HEX LHS O_RANGE RANGE STRING1
84
+ STRING2 SYMBOL _eof "|" )
121
85
  (cleanup opt)
122
86
  (alt _empty POSTFIX))
123
- (rule _postfix_2 "8.2"
124
- (first POSTFIX _eps)
125
- (follow "(" ")" "-" "@pass" "@terminals" ENUM HEX LHS O_ENUM O_RANGE RANGE
126
- STRING1 STRING2 SYMBOL _eof "|" )
127
- (seq _postfix_1))
128
87
  (rule primary "9"
129
- (first "(" ENUM HEX O_ENUM O_RANGE RANGE STRING1 STRING2 SYMBOL)
130
- (follow "(" ")" "-" "@pass" "@terminals" ENUM HEX LHS O_ENUM O_RANGE POSTFIX
131
- RANGE STRING1 STRING2 SYMBOL _eof "|" )
132
- (alt HEX SYMBOL ENUM O_ENUM RANGE O_RANGE STRING1 STRING2 _primary_1))
88
+ (first "(" HEX O_RANGE RANGE STRING1 STRING2 SYMBOL)
89
+ (follow "(" ")" "-" "@pass" "@terminals" HEX LHS O_RANGE POSTFIX RANGE
90
+ STRING1 STRING2 SYMBOL _eof "|" )
91
+ (alt HEX SYMBOL O_RANGE RANGE STRING1 STRING2 _primary_1))
133
92
  (rule _primary_1 "9.1"
134
93
  (first "(")
135
- (follow "(" ")" "-" "@pass" "@terminals" ENUM HEX LHS O_ENUM O_RANGE POSTFIX
136
- RANGE STRING1 STRING2 SYMBOL _eof "|" )
94
+ (follow "(" ")" "-" "@pass" "@terminals" HEX LHS O_RANGE POSTFIX RANGE
95
+ STRING1 STRING2 SYMBOL _eof "|" )
137
96
  (seq "(" expression ")"))
138
- (rule _primary_2 "9.2"
139
- (first "(" ENUM HEX O_ENUM O_RANGE RANGE STRING1 STRING2 SYMBOL)
140
- (follow "(" ")" "-" "@pass" "@terminals" ENUM HEX LHS O_ENUM O_RANGE POSTFIX
141
- RANGE STRING1 STRING2 SYMBOL _eof "|" )
142
- (seq expression ")"))
143
- (rule _primary_3 "9.3"
144
- (first ")")
145
- (follow "(" ")" "-" "@pass" "@terminals" ENUM HEX LHS O_ENUM O_RANGE POSTFIX
146
- RANGE STRING1 STRING2 SYMBOL _eof "|" )
147
- (seq ")"))
148
97
  (rule pass "10"
149
98
  (first "@pass")
150
99
  (follow "@pass" "@terminals" LHS _eof)
151
100
  (seq "@pass" expression))
152
- (rule _pass_1 "10.1"
153
- (first "(" ENUM HEX O_ENUM O_RANGE RANGE STRING1 STRING2 SYMBOL)
154
- (follow "@pass" "@terminals" LHS _eof)
155
- (seq expression))
156
- (terminal LHS "11" (seq (opt (seq "[" (plus SYMBOL) "]" (plus " "))) SYMBOL (star " ") "::="))
101
+ (terminals _terminals (seq))
102
+ (terminal LHS "11" (seq (opt (seq "[" SYMBOL "]" (plus " "))) SYMBOL (star " ") "::="))
157
103
  (terminal SYMBOL "12" (plus (alt (range "a-z") (range "A-Z") (range "0-9") "_" ".")))
158
104
  (terminal HEX "13" (seq "#x" (plus (alt (range "a-f") (range "A-F") (range "0-9")))))
159
- (terminal ENUM "14" (diff (alt (seq "[" (plus R_CHAR)) (seq (plus HEX) "]")) LHS))
160
- (terminal O_ENUM "15" (alt (seq "[^" (plus R_CHAR)) (seq (plus HEX) "]")))
161
- (terminal RANGE "16" (alt (seq "[" (seq R_CHAR "-" R_CHAR)) (seq (diff HEX HEX) "]")))
162
- (terminal O_RANGE "17" (alt (seq "[^" (seq R_CHAR "-" R_CHAR)) (seq (diff HEX HEX) "]")))
163
- (terminal STRING1 "18" (seq "\"" (star (diff CHAR "\"")) "\""))
164
- (terminal STRING2 "19" (seq "'" (star (diff CHAR "'")) "'"))
165
- (terminal CHAR "20"
105
+ (terminal RANGE "14"
106
+ (seq "["
107
+ (plus (alt (seq R_CHAR "-" R_CHAR) (seq HEX "-" HEX) R_CHAR HEX))
108
+ (opt "-")
109
+ (diff "]" LHS)) )
110
+ (terminal O_RANGE "15"
111
+ (seq "[^" (plus (alt (seq R_CHAR "-" R_CHAR) (seq HEX "-" HEX) R_CHAR HEX)) (opt "-") "]"))
112
+ (terminal STRING1 "16" (seq "\"" (star (diff CHAR "\"")) "\""))
113
+ (terminal STRING2 "17" (seq "'" (star (diff CHAR "'")) "'"))
114
+ (terminal CHAR "18"
166
115
  (alt
167
116
  (range "#x9#xA#xD")
168
117
  (range "#x20-#xD7FF")
169
118
  (range "#xE000-#xFFFD")
170
119
  (range "#x10000-#x10FFFF")) )
171
- (terminal R_CHAR "21" (diff CHAR "]"))
172
- (terminal POSTFIX "22" (range "?*+"))
173
- (terminal PASS "23"
174
- (plus
175
- (alt
176
- (range "#x00-#x20")
177
- (seq (alt (diff "#" "#x") "//") (star (range "^#x0A#x0Dx")))
178
- (seq "/*" (star (alt (opt (seq "*" (range "^/"))) (range "^*"))) "*/")
179
- (seq "(*" (star (alt (opt (seq "*" (range "^)"))) (range "^*"))) "*)")) )) )
120
+ (terminal R_CHAR "19" (diff CHAR (alt "]" "-" HEX)))
121
+ (terminal POSTFIX "20" (range "?*+"))
122
+ (terminal PASS "21"
123
+ (alt
124
+ (range "#x9#xA#xD#x20")
125
+ (seq (alt (diff "#" "#x") "//") (star (range "^#xA#xD")))
126
+ (seq "/*" (star (alt (opt (seq "*" (range "^/"))) (range "^*"))) "*/")
127
+ (seq "(*" (star (alt (opt (seq "*" (range "^)"))) (range "^*"))) "*)")) )
128
+ (pass _pass (seq PASS))
129
+ (rule _ebnf_3 "1.3" (first "@pass" "@terminals" LHS _eps) (follow _eof) (seq ebnf))
130
+ (rule _rule_1 "3.1"
131
+ (first "(" HEX O_RANGE RANGE STRING1 STRING2 SYMBOL)
132
+ (follow "@pass" "@terminals" LHS _eof)
133
+ (seq expression))
134
+ (rule _alt_4 "5.4"
135
+ (first _eps "|")
136
+ (follow ")" "@pass" "@terminals" LHS _eof)
137
+ (seq _alt_1))
138
+ (rule _alt_5 "5.5"
139
+ (first _eps "|")
140
+ (follow ")" "@pass" "@terminals" LHS _eof)
141
+ (seq _alt_1))
142
+ (rule _alt_6 "5.6"
143
+ (first "(" HEX O_RANGE RANGE STRING1 STRING2 SYMBOL)
144
+ (follow ")" "@pass" "@terminals" LHS _eof "|")
145
+ (seq seq))
146
+ (rule _seq_3 "6.3"
147
+ (first "(" HEX O_RANGE RANGE STRING1 STRING2 SYMBOL _eps)
148
+ (follow ")" "@pass" "@terminals" LHS _eof "|")
149
+ (seq _seq_1))
150
+ (rule _seq_4 "6.4"
151
+ (first "(" HEX O_RANGE RANGE STRING1 STRING2 SYMBOL _eps)
152
+ (follow ")" "@pass" "@terminals" LHS _eof "|")
153
+ (seq _seq_1))
154
+ (rule _diff_3 "7.3"
155
+ (first "-" _eps)
156
+ (follow "(" ")" "@pass" "@terminals" HEX LHS O_RANGE RANGE STRING1 STRING2
157
+ SYMBOL _eof "|" )
158
+ (seq _diff_1))
159
+ (rule _diff_4 "7.4"
160
+ (first "(" HEX O_RANGE RANGE STRING1 STRING2 SYMBOL)
161
+ (follow "(" ")" "@pass" "@terminals" HEX LHS O_RANGE RANGE STRING1 STRING2
162
+ SYMBOL _eof "|" )
163
+ (seq postfix))
164
+ (rule _postfix_2 "8.2"
165
+ (first POSTFIX _eps)
166
+ (follow "(" ")" "-" "@pass" "@terminals" HEX LHS O_RANGE RANGE STRING1
167
+ STRING2 SYMBOL _eof "|" )
168
+ (seq _postfix_1))
169
+ (rule _primary_2 "9.2"
170
+ (first "(" HEX O_RANGE RANGE STRING1 STRING2 SYMBOL)
171
+ (follow "(" ")" "-" "@pass" "@terminals" HEX LHS O_RANGE POSTFIX RANGE
172
+ STRING1 STRING2 SYMBOL _eof "|" )
173
+ (seq expression ")"))
174
+ (rule _pass_1 "10.1"
175
+ (first "(" HEX O_RANGE RANGE STRING1 STRING2 SYMBOL)
176
+ (follow "@pass" "@terminals" LHS _eof)
177
+ (seq expression))
178
+ (rule _primary_3 "9.3"
179
+ (first ")")
180
+ (follow "(" ")" "-" "@pass" "@terminals" HEX LHS O_RANGE POSTFIX RANGE
181
+ STRING1 STRING2 SYMBOL _eof "|" )
182
+ (seq ")")) )