ebnf 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
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'\""))