ebnf 0.2.0 → 0.2.1

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