|
10 | 10 | ## Description |
11 | 11 | This is a [Ruby][] implementation of an [EBNF][] and [BNF][] parser and parser generator. |
12 | 12 |
|
13 | | -### [PEG][]/[Packrat][] Parser |
14 | | -In the primary mode, it supports a Parsing Expression Grammar ([PEG][]) parser generator. This performs more minmal transformations on the parsed grammar to extract sub-productions, which allows each component of a rule to generate its own parsing event. |
| 13 | +### [PEG][] / [Packrat][] Parser |
| 14 | +In the primary mode, it supports a Parsing Expression Grammar ([PEG][]) parser generator. This performs more minimal transformations on the parsed grammar to extract sub-productions, which allows each component of a rule to generate its own parsing event. |
15 | 15 |
|
16 | 16 | The resulting {EBNF::PEG::Rule} objects then parse each associated rule according to the operator semantics and use a [Packrat][] memoizer to reduce extra work when backtracking. |
17 | 17 |
|
@@ -77,13 +77,13 @@ Generate formatted grammar using HTML (requires [Haml][Haml] gem): |
77 | 77 |
|
78 | 78 | The EBNF gem can also parse [ISO/EIC 14977] Grammars (ISOEBNF) to [S-Expressions][S-Expression]. |
79 | 79 |
|
80 | | - grammar = EBNF.parse(File.open('./etc/iso-ebnf.isoebnf', format: :isoebnf)) |
| 80 | + grammar = EBNF.parse(File.open('./etc/iso-ebnf.isoebnf'), format: :isoebnf) |
81 | 81 |
|
82 | 82 | ### Parsing an ABNF Grammar |
83 | 83 |
|
84 | 84 | The EBNF gem can also parse [ABNF] Grammars to [S-Expressions][S-Expression]. |
85 | 85 |
|
86 | | - grammar = EBNF.parse(File.open('./etc/abnf.abnf', format: :abnf)) |
| 86 | + grammar = EBNF.parse(File.open('./etc/abnf.abnf'), format: :abnf) |
87 | 87 |
|
88 | 88 | ### Parser Debugging |
89 | 89 |
|
@@ -278,7 +278,7 @@ A copy of the [Turtle EBNF][] and derived parser files are included in the repos |
278 | 278 | [ABNF]: https://www.rfc-editor.org/rfc/rfc5234 |
279 | 279 | [BNF]: https://en.wikipedia.org/wiki/Backus–Naur_form |
280 | 280 | [EBNF]: https://www.w3.org/TR/REC-xml/#sec-notation |
281 | | -[EBNF doc]: https://rubydoc.info/github/dryruby/ebnf |
| 281 | +[EBNF doc]: https://dryruby.github.io/ebnf |
282 | 282 | [First/Follow]: https://en.wikipedia.org/wiki/LL_parser#Constructing_an_LL.281.29_parsing_table |
283 | 283 | [ISO/IEC 14977]:https://www.iso.org/standard/26153.html |
284 | 284 | [LL(1)]: https://www.csd.uwo.ca/~moreno//CS447/Lectures/Syntax.html/node14.html |
|
0 commit comments