ebnf 2.3.5 → 2.5.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 79ca72ca5c5e6cddd22ef23d54acef7669f57c22de1b0f87286d1a7a978fcac5
4
- data.tar.gz: ec29929364625aaa58d63cd16d22f2721232e0bb47e274029159198a86bed823
3
+ metadata.gz: 76a49d9fe4e2cf23f7bde8a55f600bfad24d0f3e55ecaf8a9c0a2e21b7e1310d
4
+ data.tar.gz: fbf204b9ff0bbe4dff0056ba75c6ed535269584bac336d041f904d2d3fb2e571
5
5
  SHA512:
6
- metadata.gz: 8c9790e84dfc673fa6df46fbe60d6b8c51e7313fb1b6bc3a60cb830f1e49ffdc87dd5540ecdb45ab59aa7eb01273ad48848a4c80818f63853890b6b7521217ec
7
- data.tar.gz: bb0e2d35de67108326b317b071230dc976b9a8cd4baca166c892719453256912a1f528fdeade616b6983767b56012597d5ffc718e65e84e99c7889c1983b5890
6
+ metadata.gz: 74963a92956d8cbf2fe24f6df8fe0584667f941f42fd523c8a5e3f7f39f3bd0c74eaf8480ed22cc54d358cfd350630fcd6c84449dfff6591dc41e95174fd06b9
7
+ data.tar.gz: 02c0844b57ffd898764a4cd3dd163105b8e4d32f34df20f3874b2f7dd2590e14ddff98d72f8fd40f2573897f858327ba7eee8e6cff21f551f9882a9c4f82514f
data/README.md CHANGED
@@ -250,6 +250,10 @@ and [First Follow Notation-3 rules](https://www.w3.org/2000/10/swap/grammar/firs
250
250
  ## Documentation
251
251
  Full documentation available on [Rubydoc.info][EBNF doc].
252
252
 
253
+ ## Change Log
254
+
255
+ See [Release Notes on GitHub](https://github.com/dryruby/ebnf/releases)
256
+
253
257
  ## Future Work
254
258
  * Better LL(1) parser tests
255
259
 
@@ -290,7 +294,7 @@ A copy of the [Turtle EBNF][] and derived parser files are included in the repos
290
294
  [ISO/IEC 14977]:https://www.iso.org/standard/26153.html
291
295
  [LL(1)]: https://www.csd.uwo.ca/~moreno//CS447/Lectures/Syntax.html/node14.html
292
296
  [LL(1) Parser]: https://en.wikipedia.org/wiki/LL_parser
293
- [Logger]: https://ruby-doc.org/stdlib-2.4.0/libdoc/logger/rdoc/Logger.html
297
+ [Logger]: https://ruby-doc.org/stdlib-3.0.0/libdoc/logger/rdoc/Logger.html
294
298
  [S-expression]: https://en.wikipedia.org/wiki/S-expression
295
299
  [Tokenizer]: https://en.wikipedia.org/wiki/Lexical_analysis#Tokenizer
296
300
  [Turtle]: https://www.w3.org/TR/2012/WD-turtle-20120710/
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.3.5
1
+ 2.5.0
data/etc/abnf.sxp CHANGED
@@ -28,7 +28,7 @@
28
28
  (seq "x" (plus HEXDIG) (opt (alt (plus (seq "." (plus HEXDIG))) (seq "-" (plus HEXDIG))))))
29
29
  (terminal prose_val (seq "<" (star (range "#x20-#x3D#x3F-#x7E")) ">"))
30
30
  (terminal ALPHA (range "#x41-#x5A#x61-#x7A"))
31
- (terminal BIT (alt "0" "1"))
31
+ (terminal BIT (alt '0' '1'))
32
32
  (terminal CHAR (range "#x01-#x7F"))
33
33
  (terminal CR (hex "#x0D"))
34
34
  (terminal CRLF (seq (opt CR) LF))
data/etc/ebnf.html CHANGED
@@ -1,4 +1,4 @@
1
- <!-- Generated with ebnf version 2.3.4. See https://github.com/dryruby/ebnf. -->
1
+ <!-- Generated with ebnf version 2.4.0. See https://github.com/dryruby/ebnf. -->
2
2
  <table class="grammar">
3
3
  <tbody id="grammar-productions" class="ebnf">
4
4
  <tr id="grammar-production-ebnf">
@@ -11,7 +11,7 @@
11
11
  <td>[2]</td>
12
12
  <td><code>declaration</code></td>
13
13
  <td>::=</td>
14
- <td>"<code class="grammar-literal">@terminals</code>" <code class="grammar-alt">|</code> <a href="#grammar-production-pass">pass</a></td>
14
+ <td>'<code class="grammar-literal">@terminals</code>' <code class="grammar-alt">|</code> <a href="#grammar-production-pass">pass</a></td>
15
15
  </tr>
16
16
  <tr id="grammar-production-rule">
17
17
  <td>[3]</td>
@@ -29,7 +29,7 @@
29
29
  <td>[5]</td>
30
30
  <td><code>alt</code></td>
31
31
  <td>::=</td>
32
- <td><a href="#grammar-production-seq">seq</a> <code class="grammar-paren">(</code>"<code class="grammar-literal">|</code>" <a href="#grammar-production-seq">seq</a><code class="grammar-paren">)</code><code class="grammar-star">*</code></td>
32
+ <td><a href="#grammar-production-seq">seq</a> <code class="grammar-paren">(</code>'<code class="grammar-literal">|</code>' <a href="#grammar-production-seq">seq</a><code class="grammar-paren">)</code><code class="grammar-star">*</code></td>
33
33
  </tr>
34
34
  <tr id="grammar-production-seq">
35
35
  <td>[6]</td>
@@ -41,7 +41,7 @@
41
41
  <td>[7]</td>
42
42
  <td><code>diff</code></td>
43
43
  <td>::=</td>
44
- <td><a href="#grammar-production-postfix">postfix</a> <code class="grammar-paren">(</code>"<code class="grammar-literal">-</code>" <a href="#grammar-production-postfix">postfix</a><code class="grammar-paren">)</code><code class="grammar-opt">?</code></td>
44
+ <td><a href="#grammar-production-postfix">postfix</a> <code class="grammar-paren">(</code>'<code class="grammar-literal">-</code>' <a href="#grammar-production-postfix">postfix</a><code class="grammar-paren">)</code><code class="grammar-opt">?</code></td>
45
45
  </tr>
46
46
  <tr id="grammar-production-postfix">
47
47
  <td>[8]</td>
@@ -53,13 +53,13 @@
53
53
  <td>[9]</td>
54
54
  <td><code>primary</code></td>
55
55
  <td>::=</td>
56
- <td><a href="#grammar-production-HEX">HEX</a> <code class="grammar-alt">|</code> <a href="#grammar-production-SYMBOL">SYMBOL</a> <code class="grammar-alt">|</code> <a href="#grammar-production-O_RANGE">O_RANGE</a> <code class="grammar-alt">|</code> <a href="#grammar-production-RANGE">RANGE</a> <code class="grammar-alt">|</code> <a href="#grammar-production-STRING1">STRING1</a> <code class="grammar-alt">|</code> <a href="#grammar-production-STRING2">STRING2</a> <code class="grammar-alt">|</code> <code class="grammar-paren">(</code>"<code class="grammar-literal">(</code>" <a href="#grammar-production-expression">expression</a> "<code class="grammar-literal">)</code>"<code class="grammar-paren">)</code></td>
56
+ <td><a href="#grammar-production-HEX">HEX</a> <code class="grammar-alt">|</code> <a href="#grammar-production-SYMBOL">SYMBOL</a> <code class="grammar-alt">|</code> <a href="#grammar-production-O_RANGE">O_RANGE</a> <code class="grammar-alt">|</code> <a href="#grammar-production-RANGE">RANGE</a> <code class="grammar-alt">|</code> <a href="#grammar-production-STRING1">STRING1</a> <code class="grammar-alt">|</code> <a href="#grammar-production-STRING2">STRING2</a> <code class="grammar-alt">|</code> <code class="grammar-paren">(</code>'<code class="grammar-literal">(</code>' <a href="#grammar-production-expression">expression</a> '<code class="grammar-literal">)</code>'<code class="grammar-paren">)</code></td>
57
57
  </tr>
58
58
  <tr id="grammar-production-pass">
59
59
  <td>[10]</td>
60
60
  <td><code>pass</code></td>
61
61
  <td>::=</td>
62
- <td>"<code class="grammar-literal">@pass</code>" <a href="#grammar-production-expression">expression</a></td>
62
+ <td>'<code class="grammar-literal">@pass</code>' <a href="#grammar-production-expression">expression</a></td>
63
63
  </tr>
64
64
  <tr id="grammar-declaration-terminals">
65
65
  <td>@terminals</td>
@@ -71,31 +71,31 @@
71
71
  <td>[11]</td>
72
72
  <td><code>LHS</code></td>
73
73
  <td>::=</td>
74
- <td><code class="grammar-paren">(</code>"<code class="grammar-literal">[</code>" <a href="#grammar-production-SYMBOL">SYMBOL</a> "<code class="grammar-literal">]</code>" <code class="grammar-char-escape"><abbr title="space">#x20</abbr></code><code class="grammar-plus">+</code><code class="grammar-paren">)</code><code class="grammar-opt">?</code> <a href="#grammar-production-SYMBOL">SYMBOL</a> <code class="grammar-char-escape"><abbr title="space">#x20</abbr></code><code class="grammar-star">*</code> "<code class="grammar-literal">::=</code>"</td>
74
+ <td><code class="grammar-paren">(</code>'<code class="grammar-literal">[</code>' <a href="#grammar-production-SYMBOL">SYMBOL</a> '<code class="grammar-literal">]</code>' <code class="grammar-char-escape"><abbr title="space">#x20</abbr></code><code class="grammar-plus">+</code><code class="grammar-paren">)</code><code class="grammar-opt">?</code> <a href="#grammar-production-SYMBOL">SYMBOL</a> <code class="grammar-char-escape"><abbr title="space">#x20</abbr></code><code class="grammar-star">*</code> '<code class="grammar-literal">::=</code>'</td>
75
75
  </tr>
76
76
  <tr id="grammar-production-SYMBOL">
77
77
  <td>[12]</td>
78
78
  <td><code>SYMBOL</code></td>
79
79
  <td>::=</td>
80
- <td><code class="grammar-paren">(</code><code class="grammar-brac">[</code><code class="grammar-literal">a-z</code><code class="grammar-brac">]</code> <code class="grammar-alt">|</code> <code class="grammar-brac">[</code><code class="grammar-literal">A-Z</code><code class="grammar-brac">]</code> <code class="grammar-alt">|</code> <code class="grammar-brac">[</code><code class="grammar-literal">0-9</code><code class="grammar-brac">]</code> <code class="grammar-alt">|</code> "<code class="grammar-literal">_</code>" <code class="grammar-alt">|</code> "<code class="grammar-literal">.</code>"<code class="grammar-paren">)</code><code class="grammar-plus">+</code></td>
80
+ <td><code class="grammar-paren">(</code><code class="grammar-brac">[</code><code class="grammar-literal">a-z</code><code class="grammar-brac">]</code> <code class="grammar-alt">|</code> <code class="grammar-brac">[</code><code class="grammar-literal">A-Z</code><code class="grammar-brac">]</code> <code class="grammar-alt">|</code> <code class="grammar-brac">[</code><code class="grammar-literal">0-9</code><code class="grammar-brac">]</code> <code class="grammar-alt">|</code> '<code class="grammar-literal">_</code>' <code class="grammar-alt">|</code> '<code class="grammar-literal">.</code>'<code class="grammar-paren">)</code><code class="grammar-plus">+</code></td>
81
81
  </tr>
82
82
  <tr id="grammar-production-HEX">
83
83
  <td>[13]</td>
84
84
  <td><code>HEX</code></td>
85
85
  <td>::=</td>
86
- <td>"<code class="grammar-literal">#x</code>" <code class="grammar-paren">(</code><code class="grammar-brac">[</code><code class="grammar-literal">a-f</code><code class="grammar-brac">]</code> <code class="grammar-alt">|</code> <code class="grammar-brac">[</code><code class="grammar-literal">A-F</code><code class="grammar-brac">]</code> <code class="grammar-alt">|</code> <code class="grammar-brac">[</code><code class="grammar-literal">0-9</code><code class="grammar-brac">]</code><code class="grammar-paren">)</code><code class="grammar-plus">+</code></td>
86
+ <td>'<code class="grammar-literal">#x</code>' <code class="grammar-paren">(</code><code class="grammar-brac">[</code><code class="grammar-literal">a-f</code><code class="grammar-brac">]</code> <code class="grammar-alt">|</code> <code class="grammar-brac">[</code><code class="grammar-literal">A-F</code><code class="grammar-brac">]</code> <code class="grammar-alt">|</code> <code class="grammar-brac">[</code><code class="grammar-literal">0-9</code><code class="grammar-brac">]</code><code class="grammar-paren">)</code><code class="grammar-plus">+</code></td>
87
87
  </tr>
88
88
  <tr id="grammar-production-RANGE">
89
89
  <td>[14]</td>
90
90
  <td><code>RANGE</code></td>
91
91
  <td>::=</td>
92
- <td>"<code class="grammar-literal">[</code>" <code class="grammar-paren">(</code><code class="grammar-paren">(</code><a href="#grammar-production-R_CHAR">R_CHAR</a> "<code class="grammar-literal">-</code>" <a href="#grammar-production-R_CHAR">R_CHAR</a><code class="grammar-paren">)</code> <code class="grammar-alt">|</code> <code class="grammar-paren">(</code><a href="#grammar-production-HEX">HEX</a> "<code class="grammar-literal">-</code>" <a href="#grammar-production-HEX">HEX</a><code class="grammar-paren">)</code> <code class="grammar-alt">|</code> <a href="#grammar-production-R_CHAR">R_CHAR</a> <code class="grammar-alt">|</code> <a href="#grammar-production-HEX">HEX</a><code class="grammar-paren">)</code><code class="grammar-plus">+</code> "<code class="grammar-literal">-</code>"<code class="grammar-opt">?</code> <code class="grammar-paren">(</code>"<code class="grammar-literal">]</code>" <code class="grammar-diff">-</code> <a href="#grammar-production-LHS">LHS</a><code class="grammar-paren">)</code></td>
92
+ <td>'<code class="grammar-literal">[</code>' <code class="grammar-paren">(</code><code class="grammar-paren">(</code><a href="#grammar-production-R_CHAR">R_CHAR</a> '<code class="grammar-literal">-</code>' <a href="#grammar-production-R_CHAR">R_CHAR</a><code class="grammar-paren">)</code> <code class="grammar-alt">|</code> <code class="grammar-paren">(</code><a href="#grammar-production-HEX">HEX</a> '<code class="grammar-literal">-</code>' <a href="#grammar-production-HEX">HEX</a><code class="grammar-paren">)</code> <code class="grammar-alt">|</code> <a href="#grammar-production-R_CHAR">R_CHAR</a> <code class="grammar-alt">|</code> <a href="#grammar-production-HEX">HEX</a><code class="grammar-paren">)</code><code class="grammar-plus">+</code> '<code class="grammar-literal">-</code>'<code class="grammar-opt">?</code> <code class="grammar-paren">(</code>'<code class="grammar-literal">]</code>' <code class="grammar-diff">-</code> <a href="#grammar-production-LHS">LHS</a><code class="grammar-paren">)</code></td>
93
93
  </tr>
94
94
  <tr id="grammar-production-O_RANGE">
95
95
  <td>[15]</td>
96
96
  <td><code>O_RANGE</code></td>
97
97
  <td>::=</td>
98
- <td>"<code class="grammar-literal">[^</code>" <code class="grammar-paren">(</code><code class="grammar-paren">(</code><a href="#grammar-production-R_CHAR">R_CHAR</a> "<code class="grammar-literal">-</code>" <a href="#grammar-production-R_CHAR">R_CHAR</a><code class="grammar-paren">)</code> <code class="grammar-alt">|</code> <code class="grammar-paren">(</code><a href="#grammar-production-HEX">HEX</a> "<code class="grammar-literal">-</code>" <a href="#grammar-production-HEX">HEX</a><code class="grammar-paren">)</code> <code class="grammar-alt">|</code> <a href="#grammar-production-R_CHAR">R_CHAR</a> <code class="grammar-alt">|</code> <a href="#grammar-production-HEX">HEX</a><code class="grammar-paren">)</code><code class="grammar-plus">+</code> "<code class="grammar-literal">-</code>"<code class="grammar-opt">?</code> "<code class="grammar-literal">]</code>"</td>
98
+ <td>'<code class="grammar-literal">[^</code>' <code class="grammar-paren">(</code><code class="grammar-paren">(</code><a href="#grammar-production-R_CHAR">R_CHAR</a> '<code class="grammar-literal">-</code>' <a href="#grammar-production-R_CHAR">R_CHAR</a><code class="grammar-paren">)</code> <code class="grammar-alt">|</code> <code class="grammar-paren">(</code><a href="#grammar-production-HEX">HEX</a> '<code class="grammar-literal">-</code>' <a href="#grammar-production-HEX">HEX</a><code class="grammar-paren">)</code> <code class="grammar-alt">|</code> <a href="#grammar-production-R_CHAR">R_CHAR</a> <code class="grammar-alt">|</code> <a href="#grammar-production-HEX">HEX</a><code class="grammar-paren">)</code><code class="grammar-plus">+</code> '<code class="grammar-literal">-</code>'<code class="grammar-opt">?</code> '<code class="grammar-literal">]</code>'</td>
99
99
  </tr>
100
100
  <tr id="grammar-production-STRING1">
101
101
  <td>[16]</td>
@@ -119,7 +119,7 @@
119
119
  <td>[19]</td>
120
120
  <td><code>R_CHAR</code></td>
121
121
  <td>::=</td>
122
- <td><a href="#grammar-production-CHAR">CHAR</a> <code class="grammar-diff">-</code> <code class="grammar-paren">(</code>"<code class="grammar-literal">]</code>" <code class="grammar-alt">|</code> "<code class="grammar-literal">-</code>" <code class="grammar-alt">|</code> <a href="#grammar-production-HEX">HEX</a><code class="grammar-paren">)</code></td>
122
+ <td><a href="#grammar-production-CHAR">CHAR</a> <code class="grammar-diff">-</code> <code class="grammar-paren">(</code>'<code class="grammar-literal">]</code>' <code class="grammar-alt">|</code> '<code class="grammar-literal">-</code>' <code class="grammar-alt">|</code> <a href="#grammar-production-HEX">HEX</a><code class="grammar-paren">)</code></td>
123
123
  </tr>
124
124
  <tr id="grammar-production-POSTFIX">
125
125
  <td>[20]</td>
@@ -131,7 +131,7 @@
131
131
  <td>[21]</td>
132
132
  <td><code>PASS</code></td>
133
133
  <td>::=</td>
134
- <td><code class="grammar-brac">[</code><code class="grammar-char-escape"><abbr title="horizontal tab">#x09</abbr></code><code class="grammar-char-escape"><abbr title="new line">#x0A</abbr></code><code class="grammar-char-escape"><abbr title="carriage return">#x0D</abbr></code><code class="grammar-char-escape"><abbr title="space">#x20</abbr></code><code class="grammar-brac">]</code> <code class="grammar-alt">|</code> <code class="grammar-paren">(</code><code class="grammar-paren">(</code><code class="grammar-paren">(</code>"<code class="grammar-literal">#</code>" <code class="grammar-diff">-</code> "<code class="grammar-literal">#x</code>"<code class="grammar-paren">)</code> <code class="grammar-alt">|</code> "<code class="grammar-literal">//</code>"<code class="grammar-paren">)</code> <code class="grammar-brac">[</code><code class="grammar-literal">^</code><code class="grammar-char-escape"><abbr title="new line">#x0A</abbr></code><code class="grammar-char-escape"><abbr title="carriage return">#x0D</abbr></code><code class="grammar-brac">]</code><code class="grammar-star">*</code><code class="grammar-paren">)</code> <code class="grammar-alt">|</code> <code class="grammar-paren">(</code>"<code class="grammar-literal">/*</code>" <code class="grammar-paren">(</code><code class="grammar-paren">(</code>"<code class="grammar-literal">*</code>" <code class="grammar-brac">[</code><code class="grammar-literal">^/</code><code class="grammar-brac">]</code><code class="grammar-paren">)</code><code class="grammar-opt">?</code> <code class="grammar-alt">|</code> <code class="grammar-brac">[</code><code class="grammar-literal">^*</code><code class="grammar-brac">]</code><code class="grammar-paren">)</code><code class="grammar-star">*</code> "<code class="grammar-literal">*/</code>"<code class="grammar-paren">)</code> <code class="grammar-alt">|</code> <code class="grammar-paren">(</code>"<code class="grammar-literal">(*</code>" <code class="grammar-paren">(</code><code class="grammar-paren">(</code>"<code class="grammar-literal">*</code>" <code class="grammar-brac">[</code><code class="grammar-literal">^)</code><code class="grammar-brac">]</code><code class="grammar-paren">)</code><code class="grammar-opt">?</code> <code class="grammar-alt">|</code> <code class="grammar-brac">[</code><code class="grammar-literal">^*</code><code class="grammar-brac">]</code><code class="grammar-paren">)</code><code class="grammar-star">*</code> "<code class="grammar-literal">*)</code>"<code class="grammar-paren">)</code></td>
134
+ <td><code class="grammar-brac">[</code><code class="grammar-char-escape"><abbr title="horizontal tab">#x09</abbr></code><code class="grammar-char-escape"><abbr title="new line">#x0A</abbr></code><code class="grammar-char-escape"><abbr title="carriage return">#x0D</abbr></code><code class="grammar-char-escape"><abbr title="space">#x20</abbr></code><code class="grammar-brac">]</code> <code class="grammar-alt">|</code> <code class="grammar-paren">(</code><code class="grammar-paren">(</code><code class="grammar-paren">(</code>'<code class="grammar-literal">#</code>' <code class="grammar-diff">-</code> '<code class="grammar-literal">#x</code>'<code class="grammar-paren">)</code> <code class="grammar-alt">|</code> '<code class="grammar-literal">//</code>'<code class="grammar-paren">)</code> <code class="grammar-brac">[</code><code class="grammar-literal">^</code><code class="grammar-char-escape"><abbr title="new line">#x0A</abbr></code><code class="grammar-char-escape"><abbr title="carriage return">#x0D</abbr></code><code class="grammar-brac">]</code><code class="grammar-star">*</code><code class="grammar-paren">)</code> <code class="grammar-alt">|</code> <code class="grammar-paren">(</code>'<code class="grammar-literal">/*</code>' <code class="grammar-paren">(</code><code class="grammar-paren">(</code>'<code class="grammar-literal">*</code>' <code class="grammar-brac">[</code><code class="grammar-literal">^/</code><code class="grammar-brac">]</code><code class="grammar-paren">)</code><code class="grammar-opt">?</code> <code class="grammar-alt">|</code> <code class="grammar-brac">[</code><code class="grammar-literal">^*</code><code class="grammar-brac">]</code><code class="grammar-paren">)</code><code class="grammar-star">*</code> '<code class="grammar-literal">*/</code>'<code class="grammar-paren">)</code> <code class="grammar-alt">|</code> <code class="grammar-paren">(</code>'<code class="grammar-literal">(*</code>' <code class="grammar-paren">(</code><code class="grammar-paren">(</code>'<code class="grammar-literal">*</code>' <code class="grammar-brac">[</code><code class="grammar-literal">^)</code><code class="grammar-brac">]</code><code class="grammar-paren">)</code><code class="grammar-opt">?</code> <code class="grammar-alt">|</code> <code class="grammar-brac">[</code><code class="grammar-literal">^*</code><code class="grammar-brac">]</code><code class="grammar-paren">)</code><code class="grammar-star">*</code> '<code class="grammar-literal">*)</code>'<code class="grammar-paren">)</code></td>
135
135
  </tr>
136
136
  <tr id="grammar-declaration-pass">
137
137
  <td>@pass</td>
data/etc/ebnf.ll1.rb CHANGED
@@ -1,4 +1,4 @@
1
- # This file is automatically generated by ebnf version 2.3.4
1
+ # This file is automatically generated by ebnf version 2.4.0
2
2
  # Derived from etc/ebnf.ebnf
3
3
  module Meta
4
4
  START = :ebnf
data/etc/ebnf.ll1.sxp CHANGED
@@ -2,114 +2,114 @@
2
2
  (rule _empty "0" (first _eps) (seq))
3
3
  (rule ebnf "1"
4
4
  (start #t)
5
- (first "@pass" "@terminals" LHS _eps)
5
+ (first '@pass' '@terminals' LHS _eps)
6
6
  (follow _eof)
7
7
  (cleanup star)
8
8
  (alt _empty _ebnf_2))
9
9
  (rule _ebnf_2 "1.2"
10
- (first "@pass" "@terminals" LHS)
10
+ (first '@pass' '@terminals' LHS)
11
11
  (follow _eof)
12
12
  (cleanup merge)
13
13
  (seq _ebnf_1 ebnf))
14
14
  (rule _ebnf_1 "1.1"
15
- (first "@pass" "@terminals" LHS)
16
- (follow "@pass" "@terminals" LHS _eof)
15
+ (first '@pass' '@terminals' LHS)
16
+ (follow '@pass' '@terminals' LHS _eof)
17
17
  (alt declaration rule))
18
18
  (rule declaration "2"
19
- (first "@pass" "@terminals")
20
- (follow "@pass" "@terminals" LHS _eof)
21
- (alt "@terminals" pass))
22
- (rule rule "3" (first LHS) (follow "@pass" "@terminals" LHS _eof) (seq LHS expression))
19
+ (first '@pass' '@terminals')
20
+ (follow '@pass' '@terminals' LHS _eof)
21
+ (alt '@terminals' pass))
22
+ (rule rule "3" (first LHS) (follow '@pass' '@terminals' LHS _eof) (seq LHS expression))
23
23
  (rule expression "4"
24
- (first "(" HEX O_RANGE RANGE STRING1 STRING2 SYMBOL)
25
- (follow ")" "@pass" "@terminals" LHS _eof)
24
+ (first '(' HEX O_RANGE RANGE STRING1 STRING2 SYMBOL)
25
+ (follow ')' '@pass' '@terminals' LHS _eof)
26
26
  (seq alt))
27
27
  (rule alt "5"
28
- (first "(" HEX O_RANGE RANGE STRING1 STRING2 SYMBOL)
29
- (follow ")" "@pass" "@terminals" LHS _eof)
28
+ (first '(' HEX O_RANGE RANGE STRING1 STRING2 SYMBOL)
29
+ (follow ')' '@pass' '@terminals' LHS _eof)
30
30
  (seq seq _alt_1))
31
31
  (rule _alt_1 "5.1"
32
- (first _eps "|")
33
- (follow ")" "@pass" "@terminals" LHS _eof)
32
+ (first _eps '|')
33
+ (follow ')' '@pass' '@terminals' LHS _eof)
34
34
  (cleanup star)
35
35
  (alt _empty _alt_3))
36
36
  (rule _alt_3 "5.3"
37
- (first "|")
38
- (follow ")" "@pass" "@terminals" LHS _eof)
37
+ (first '|')
38
+ (follow ')' '@pass' '@terminals' LHS _eof)
39
39
  (cleanup merge)
40
40
  (seq _alt_2 _alt_1))
41
41
  (rule _alt_2 "5.2"
42
- (first "|")
43
- (follow ")" "@pass" "@terminals" LHS _eof "|")
44
- (seq "|" seq))
42
+ (first '|')
43
+ (follow ')' '@pass' '@terminals' LHS _eof '|')
44
+ (seq '|' seq))
45
45
  (rule seq "6"
46
- (first "(" HEX O_RANGE RANGE STRING1 STRING2 SYMBOL)
47
- (follow ")" "@pass" "@terminals" LHS _eof "|")
46
+ (first '(' HEX O_RANGE RANGE STRING1 STRING2 SYMBOL)
47
+ (follow ')' '@pass' '@terminals' LHS _eof '|')
48
48
  (cleanup plus)
49
49
  (seq diff _seq_1))
50
50
  (rule _seq_1 "6.1"
51
- (first "(" HEX O_RANGE RANGE STRING1 STRING2 SYMBOL _eps)
52
- (follow ")" "@pass" "@terminals" LHS _eof "|")
51
+ (first '(' HEX O_RANGE RANGE STRING1 STRING2 SYMBOL _eps)
52
+ (follow ')' '@pass' '@terminals' LHS _eof '|')
53
53
  (cleanup star)
54
54
  (alt _empty _seq_2))
55
55
  (rule _seq_2 "6.2"
56
- (first "(" HEX O_RANGE RANGE STRING1 STRING2 SYMBOL)
57
- (follow ")" "@pass" "@terminals" LHS _eof "|")
56
+ (first '(' HEX O_RANGE RANGE STRING1 STRING2 SYMBOL)
57
+ (follow ')' '@pass' '@terminals' LHS _eof '|')
58
58
  (cleanup merge)
59
59
  (seq diff _seq_1))
60
60
  (rule diff "7"
61
- (first "(" HEX O_RANGE RANGE STRING1 STRING2 SYMBOL)
62
- (follow "(" ")" "@pass" "@terminals" HEX LHS O_RANGE RANGE STRING1 STRING2
63
- 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 '|' )
64
64
  (seq postfix _diff_1))
65
65
  (rule _diff_1 "7.1"
66
- (first "-" _eps)
67
- (follow "(" ")" "@pass" "@terminals" HEX LHS O_RANGE RANGE STRING1 STRING2
68
- SYMBOL _eof "|" )
66
+ (first '-' _eps)
67
+ (follow '(' ')' '@pass' '@terminals' HEX LHS O_RANGE RANGE STRING1 STRING2
68
+ SYMBOL _eof '|' )
69
69
  (cleanup opt)
70
70
  (alt _empty _diff_2))
71
71
  (rule _diff_2 "7.2"
72
- (first "-")
73
- (follow "(" ")" "@pass" "@terminals" HEX LHS O_RANGE RANGE STRING1 STRING2
74
- SYMBOL _eof "|" )
75
- (seq "-" postfix))
72
+ (first '-')
73
+ (follow '(' ')' '@pass' '@terminals' HEX LHS O_RANGE RANGE STRING1 STRING2
74
+ SYMBOL _eof '|' )
75
+ (seq '-' postfix))
76
76
  (rule postfix "8"
77
- (first "(" HEX O_RANGE RANGE STRING1 STRING2 SYMBOL)
78
- (follow "(" ")" "-" "@pass" "@terminals" HEX LHS O_RANGE RANGE STRING1
79
- 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 '|' )
80
80
  (seq primary _postfix_1))
81
81
  (rule _postfix_1 "8.1"
82
82
  (first POSTFIX _eps)
83
- (follow "(" ")" "-" "@pass" "@terminals" HEX LHS O_RANGE RANGE STRING1
84
- STRING2 SYMBOL _eof "|" )
83
+ (follow '(' ')' '-' '@pass' '@terminals' HEX LHS O_RANGE RANGE STRING1
84
+ STRING2 SYMBOL _eof '|' )
85
85
  (cleanup opt)
86
86
  (alt _empty POSTFIX))
87
87
  (rule primary "9"
88
- (first "(" HEX O_RANGE RANGE STRING1 STRING2 SYMBOL)
89
- (follow "(" ")" "-" "@pass" "@terminals" HEX LHS O_RANGE POSTFIX RANGE
90
- STRING1 STRING2 SYMBOL _eof "|" )
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
91
  (alt HEX SYMBOL O_RANGE RANGE STRING1 STRING2 _primary_1))
92
92
  (rule _primary_1 "9.1"
93
- (first "(")
94
- (follow "(" ")" "-" "@pass" "@terminals" HEX LHS O_RANGE POSTFIX RANGE
95
- STRING1 STRING2 SYMBOL _eof "|" )
96
- (seq "(" expression ")"))
93
+ (first '(')
94
+ (follow '(' ')' '-' '@pass' '@terminals' HEX LHS O_RANGE POSTFIX RANGE
95
+ STRING1 STRING2 SYMBOL _eof '|' )
96
+ (seq '(' expression ')'))
97
97
  (rule pass "10"
98
- (first "@pass")
99
- (follow "@pass" "@terminals" LHS _eof)
100
- (seq "@pass" expression))
98
+ (first '@pass')
99
+ (follow '@pass' '@terminals' LHS _eof)
100
+ (seq '@pass' expression))
101
101
  (terminals _terminals (seq))
102
- (terminal LHS "11" (seq (opt (seq "[" SYMBOL "]" (plus " "))) SYMBOL (star " ") "::="))
103
- (terminal SYMBOL "12" (plus (alt (range "a-z") (range "A-Z") (range "0-9") "_" ".")))
104
- (terminal HEX "13" (seq "#x" (plus (alt (range "a-f") (range "A-F") (range "0-9")))))
102
+ (terminal LHS "11" (seq (opt (seq '[' SYMBOL ']' (plus ' '))) SYMBOL (star ' ') '::='))
103
+ (terminal SYMBOL "12" (plus (alt (range "a-z") (range "A-Z") (range "0-9") '_' '.')))
104
+ (terminal HEX "13" (seq '#x' (plus (alt (range "a-f") (range "A-F") (range "0-9")))))
105
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)) )
106
+ (seq '['
107
+ (plus (alt (seq R_CHAR '-' R_CHAR) (seq HEX '-' HEX) R_CHAR HEX))
108
+ (opt '-')
109
+ (diff ']' LHS)) )
110
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 "\"")) "\""))
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
113
  (terminal STRING2 "17" (seq "'" (star (diff CHAR "'")) "'"))
114
114
  (terminal CHAR "18"
115
115
  (alt
@@ -117,66 +117,66 @@
117
117
  (range "#x20-#xD7FF")
118
118
  (range "#xE000-#xFFFD")
119
119
  (range "#x10000-#x10FFFF")) )
120
- (terminal R_CHAR "19" (diff CHAR (alt "]" "-" HEX)))
120
+ (terminal R_CHAR "19" (diff CHAR (alt ']' '-' HEX)))
121
121
  (terminal POSTFIX "20" (range "?*+"))
122
122
  (terminal PASS "21"
123
123
  (alt
124
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 "^*"))) "*)")) )
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
128
  (pass _pass (seq PASS))
129
- (rule _ebnf_3 "1.3" (first "@pass" "@terminals" LHS _eps) (follow _eof) (seq ebnf))
129
+ (rule _ebnf_3 "1.3" (first '@pass' '@terminals' LHS _eps) (follow _eof) (seq ebnf))
130
130
  (rule _rule_1 "3.1"
131
- (first "(" HEX O_RANGE RANGE STRING1 STRING2 SYMBOL)
132
- (follow "@pass" "@terminals" LHS _eof)
131
+ (first '(' HEX O_RANGE RANGE STRING1 STRING2 SYMBOL)
132
+ (follow '@pass' '@terminals' LHS _eof)
133
133
  (seq expression))
134
134
  (rule _alt_4 "5.4"
135
- (first _eps "|")
136
- (follow ")" "@pass" "@terminals" LHS _eof)
135
+ (first _eps '|')
136
+ (follow ')' '@pass' '@terminals' LHS _eof)
137
137
  (seq _alt_1))
138
138
  (rule _alt_5 "5.5"
139
- (first _eps "|")
140
- (follow ")" "@pass" "@terminals" LHS _eof)
139
+ (first _eps '|')
140
+ (follow ')' '@pass' '@terminals' LHS _eof)
141
141
  (seq _alt_1))
142
142
  (rule _alt_6 "5.6"
143
- (first "(" HEX O_RANGE RANGE STRING1 STRING2 SYMBOL)
144
- (follow ")" "@pass" "@terminals" LHS _eof "|")
143
+ (first '(' HEX O_RANGE RANGE STRING1 STRING2 SYMBOL)
144
+ (follow ')' '@pass' '@terminals' LHS _eof '|')
145
145
  (seq seq))
146
146
  (rule _seq_3 "6.3"
147
- (first "(" HEX O_RANGE RANGE STRING1 STRING2 SYMBOL _eps)
148
- (follow ")" "@pass" "@terminals" LHS _eof "|")
147
+ (first '(' HEX O_RANGE RANGE STRING1 STRING2 SYMBOL _eps)
148
+ (follow ')' '@pass' '@terminals' LHS _eof '|')
149
149
  (seq _seq_1))
150
150
  (rule _seq_4 "6.4"
151
- (first "(" HEX O_RANGE RANGE STRING1 STRING2 SYMBOL _eps)
152
- (follow ")" "@pass" "@terminals" LHS _eof "|")
151
+ (first '(' HEX O_RANGE RANGE STRING1 STRING2 SYMBOL _eps)
152
+ (follow ')' '@pass' '@terminals' LHS _eof '|')
153
153
  (seq _seq_1))
154
154
  (rule _diff_3 "7.3"
155
- (first "-" _eps)
156
- (follow "(" ")" "@pass" "@terminals" HEX LHS O_RANGE RANGE STRING1 STRING2
157
- SYMBOL _eof "|" )
155
+ (first '-' _eps)
156
+ (follow '(' ')' '@pass' '@terminals' HEX LHS O_RANGE RANGE STRING1 STRING2
157
+ SYMBOL _eof '|' )
158
158
  (seq _diff_1))
159
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 "|" )
160
+ (first '(' HEX O_RANGE RANGE STRING1 STRING2 SYMBOL)
161
+ (follow '(' ')' '@pass' '@terminals' HEX LHS O_RANGE RANGE STRING1 STRING2
162
+ SYMBOL _eof '|' )
163
163
  (seq postfix))
164
164
  (rule _postfix_2 "8.2"
165
165
  (first POSTFIX _eps)
166
- (follow "(" ")" "-" "@pass" "@terminals" HEX LHS O_RANGE RANGE STRING1
167
- STRING2 SYMBOL _eof "|" )
166
+ (follow '(' ')' '-' '@pass' '@terminals' HEX LHS O_RANGE RANGE STRING1
167
+ STRING2 SYMBOL _eof '|' )
168
168
  (seq _postfix_1))
169
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 ")"))
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
174
  (rule _pass_1 "10.1"
175
- (first "(" HEX O_RANGE RANGE STRING1 STRING2 SYMBOL)
176
- (follow "@pass" "@terminals" LHS _eof)
175
+ (first '(' HEX O_RANGE RANGE STRING1 STRING2 SYMBOL)
176
+ (follow '@pass' '@terminals' LHS _eof)
177
177
  (seq expression))
178
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 ")")) )
179
+ (first ')')
180
+ (follow '(' ')' '-' '@pass' '@terminals' HEX LHS O_RANGE POSTFIX RANGE
181
+ STRING1 STRING2 SYMBOL _eof '|' )
182
+ (seq ')')) )
data/etc/ebnf.peg.rb CHANGED
@@ -1,4 +1,4 @@
1
- # This file is automatically generated by ebnf version 2.3.4
1
+ # This file is automatically generated by ebnf version 2.4.0
2
2
  # Derived from etc/ebnf.ebnf
3
3
  module EBNFMeta
4
4
  RULES = [