I'll add "forgiving" to "lexeme default", as you suggest. I'm not at
all sure it's a good idea, but the UNIX/Perl tradition is that you give
the user the tools and let them decide. -- jeffrey
On 01/08/2014 10:37 PM, Ruslan Shvedov wrote:
Very useful feature, thanks a lot.
Can /forgiving/ adverb be added to /lexeme default/ so that an
application be able to mark all lexemes as (un)forgiving and then set
individual lexemes as forgiving or unforgiving as needed?
P.S. 2.079_007
<https://metacpan.org/release/JKEGL/Marpa-R2-2.079_007> built,
installed, and tested just fine for me on cygwin and windows with
5.14.2 and 5.18.1.
On Wed, Jan 8, 2014 at 9:25 AM, Jeffrey Kegler
<[email protected]
<mailto:[email protected]>> wrote:
I've uploaded a new developer's version, 2.079_007
<https://metacpan.org/release/JKEGL/Marpa-R2-2.079_007>, this time
with some clearly visible added value: forgiving tokens. Forgiving
tokens are tokens that are declared to be exceptions from the
usually rigid longest-tokens-match discipline. The usual (and
traditional) LTM discipline insists that the token is the longest
match at any point. If the LTM token is not acceptable to the
grammar, then the parse fails.
A forgiving token declares itself to be an exception to the LTM
discipline. If a forgiving token is the longest match, but it is
rejected by G1, the rejection will be "forgiven" and the SLIF will
look for shorter tokens that it can accept.
I've uploaded as Github gists two examples that previously were
difficult lexing situations, redone using forgiving tokens: one is
Ruslan Zakirov's <https://gist.github.com/jeffreykegler/8312534>
and the other is Peter Stuifzand's
<https://gist.github.com/jeffreykegler/8312524>. I have not
documented the forgiving adverb yet, but the syntax is easy enough
to figure out from the two examples.
--
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:marpa-parser%[email protected]>.
For more options, visit https://groups.google.com/groups/opt_out.
--
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/groups/opt_out.
--
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/groups/opt_out.