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]> 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]. > 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.
