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.
