ebnf 2.3.5 → 2.5.0

Sign up to get free protection for your applications and to get access to all the features.
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 = [