The following module was proposed for inclusion in the Module List: modid: MarpaX::Parse DSLIP: adpOp description: Simple and Powerful Parsing with Marpa::R2 userid: RNS (rns) chapterid: 11 (String_Lang_Text_Proc) communities: https://groups.google.com/forum/#!forum/marpa-parser
similar: MarpaX::Simple::Rules Marpa::Simple::Lexer Graph::Easy::Marpa rationale: Marpa::R2 parses anything that can be written in BNF. This module is intended to move the use of Marpa::R2 even closer to the definition of parsing given in [0] by providing: (1) lexical analyzer (based on the grammar terminals) and thus the ability to use a text (rather than symbol) string as an input; (2) evaluation of Marpa::R2 parse results that represent parse trees as Tree::Simple objects, XML string, S-Expression string, an array of arrays, a hash of arrays, or a hash of hashes; (3) textual (E)BNF with embedded actions; (4) automatic handling of ambiguous tokens with (1) Marpa::R2 input model or (2) by merging ambiguous tokens to the grammar; and more, see [1]. A working example of (1) and (3) is in a GitHub repo [1]. This is an adaptation of the "reverse diff" use case specified in Parse::RecDescent tutorial [2] The repo also contains working examples of (2), (4), and others as shown in README.md [3]âthis is what I consider to be an alpha (all tests pass) version of the module that was tentatively named Marpa-Easy, discussed on marpa parser mailing list at [4], and after some refactoring will become MarpaX::Parse. Or so I hope. :) I deliberately avoided naming the module MarpaX::Parser as it is not the parser, just an interface to it. The parser is Marpa::R2 [5] by Jeffrey Kegler [6]. This rationale can be forked at Github [7]. [0] http://search.cpan.org/~jkegl/Marpa-R2-2.023_008/pod/Vocabulary.pod [1] https://github.com/rns/Marpa-Easy-proof-of-concept/blob/master/t/09_reversing_diff_bnf.t [2] http://cpansearch.perl.org/src/JTBRAUN/Parse-RecDescent-1.967009/tutorial/tutorial.html [3] https://github.com/rns/Marpa-Easy-proof-of-concept [4] https://groups.google.com/forum/#!topic/marpa-parser/diKu5kADtvU [5] http://search.cpan.org/~jkegl/Marpa-R2-2.023_008/ [6] http://www.jeffreykegler.com/ [7] https://github.com/rns/Marpa-Easy-proof-of-concept/blob/master/rationale.md enteredby: RNS (rns) enteredon: Thu Nov 1 09:32:56 2012 GMT The resulting entry would be: MarpaX:: ::Parse adpOp Simple and Powerful Parsing with Marpa::R2 RNS Thanks for registering, -- The PAUSE PS: The following links are only valid for module list maintainers: Registration form with editing capabilities: https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=cca00000_761df89d65292776&SUBMIT_pause99_add_mod_preview=1 Immediate (one click) registration: https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=cca00000_761df89d65292776&SUBMIT_pause99_add_mod_insertit=1 Peek at the current permissions: https://pause.perl.org/pause/authenquery?pause99_peek_perms_by=me&pause99_peek_perms_query=MarpaX%3A%3AParse