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