On Thu, Jan 9, 2014 at 6:01 PM, Jeffrey Kegler < [email protected]> wrote:
> 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 > Great, thanks. P.S. I've to admit that I can't see the use case yet, but I (hopefully correct) read above that "longest acceptable tokens" behavior, a motivation of amon's IRIF, is enabled by marking all tokens forgiving and that will be done safely at a low cost once "cheap forgiving" is implemented, hence the suggestion. > 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]> 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. > > > -- > 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.
