Bug#1134960: ITP: pgpg -- Parser generator and parsing library
Stephen Kitt <[email protected]>
| Newsgroups | gmane.linux.debian.devel.general |
|---|---|
| Message-ID | <177720630516.867483.10657739815923184974.reportbug__19490.327236575$1777206467$gmane$org@heffalump.sk2.org> |
Package: wnpp Severity: wishlist Owner: Stephen Kitt <[email protected]>, [email protected] X-Debbugs-Cc: [email protected] * Package name : pgpg Version : 1.0.0-1 Upstream Author : John Kerl * URL : https://github.com/johnkerl/pgpg * License : unlicense Programming Lang: Go Description : Parser generator and parsing library PGPG is the Pretty Good Parser Generator. Its goals are as follows: . * Implement a few basic algorithms. * Reuse code whenever possible, across multiple algorithms like LALR/LR. * Make good use of classes---e.g. lexer.match() rather than global match() which are commonly used in intro-to-parsing textbooks. * Be lucid above all else. Lexing/parsing is ubiquitous in the modern world, and forms a large part of our world. Yet sadly such tools are too often arcane and confusing. PGPG is transparent, inclusive, and explains itself openly. * Offer choices: - Sometimes a parser-generator is overkill---for simpler grammars, a hand-written lexer and a hand-written recursive-descent parser are quite satisfactory. PGPG offers reusable, easy-to-understand examples here. - Sometimes a hand-written lexer/parser is underkill---yet parser- generators can be complex and intimidating. Here, too, PGPG offers reusable, easy-to-understand examples. - PGPG offers classes that reduce code-duplication for various lex/parse implementations: you can reuse what you want, and hand-write what you want. - PGPG offers grammar-to-parser all in one process invocation, or parser-generate to language-independent storage (probably JSON), or traditional parser-generate directly to implementation-language code. This is a new build-dependency for Miller.