Thanks! The blurb by intent focuses on the Marpa algorithm itself, and
not its implementation in Marpa::R2. The rest of Ron's page goes on to
address implementation/applications/highlights.
As an aside, one thing that I dislike in the promotion of other
technologies is the mixing in of prototypes, experiments and future
plans with well-tested and production systems. Of course, when software
first comes out, everything is a future or an experiment and nothing has
a long track record. But at this point I know that Marpa is in use for
production in several places, and I'd like to form a list of as many of
these as it's possible to make public.
-- jeffrey
On 08/27/2014 06:00 AM, Ruslan Shvedov wrote:
Looks very good; I'd suggest adding 3 paragraphs: about
implementation, applications, and highlights as preliminary drafted
below ([](...) is markdown syntax for hyperlinks):
Marpa is implemented as a [C library](libmarpa-repo), which is
currently used from [Perl](https://metacpan.org/release/Marpa-R2),
[C](...), [Go](...), and [C++](...), and can be used from any other
language which supports linking with C libraries. The next big step
will be using Lua as an extension language to libmarpa.
Current Marpa applications include parsers for [C](...),
[JavaScript](...), [OMG's Interface Definition Language (IDL)](...),
[SQL](...), [XML 1.0](...), [JSON](...), [XPath](...) [to name a
few](link to other Marpa applications later in the page).
[The Perl interface to Marpa](https://metacpan.org/release/Marpa-R2)
supports [precedence parsing and n-ary
associativity](https://metacpan.org/pod/distribution/Marpa-R2/pod/Scanless/DSL.pod#Synopsis) out
of the box.
On Tue, Aug 26, 2014 at 9:55 PM, Jeffrey Kegler
<[email protected]
<mailto:[email protected]>> wrote:
I asked Ron Savage to create a new web site to be the public face
of Marpa -- an "unofficial official" web site. (Ron has editorial
control, and mine <http://jeffreykegler.github.io/Marpa-web-site/>
remains the "official official" web site.) Ron generously agreed
and it is under construction here <http://savage.net.au/Marpa.html>.
While rethinking all this, I wrote up a new top-level description
of Marpa, aimed at those who are totally new to it:
The Marpa parser is intended to replace, and to go well beyond,
recursive
descent and the yacc family of parsers. It is a new algorithm, based
on prior work by Jay Earley, Joop Leo, John Aycock and R. Nigel
Horspool.
* Marpa is fast. It parses in linear time
* All unambiguous grammars, unless they have unbounded middle
recursions which are unmarked. (The LR-regular, or LRR,
grammars.)
* Ambiguous grammars, if they are the unions of a
finite set of LRR grammars.
* All the grammars that recursive descent parses.
(These are the LL(k) grammars, a subset of LRR.)
* All grammars that the yacc family parses.
(These are the LALR grammars, a small subset of LR(k), which
is in
turn a subset of LRR.)
* Marpa is powerful. Marpa will parse anything you can write in BNF,
including any mixture of left, right and middle recursion, as well
as cycles.
* Marpa is flexible. Like recursive descent, Marpa allows you to
stop
and do your own custom processing. Unlike recursive descent, Marpa
makes available to you detailed information about the parse so far --
which rules and symbols have been recognized, with their locations,
and which rules and symbols are expected next.
Comments welcome.
Jeffrey
--
You received this message because you are subscribed to the Google
Groups "marpa parser" group.
To unsubscribe from this group and stop receiving emails from it,
send an email to [email protected]
<mailto:[email protected]>.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google
Groups "marpa parser" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected]
<mailto:[email protected]>.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "marpa
parser" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.