On Friday, 15 August 2014 09:15:46 UTC+10, Christopher Layne wrote:
>
> On Aug 14, 2014, at 1523 PT, Ron Savage <[email protected] <javascript:>>
> wrote:
>
> > Questions:
> >
> > Are these for C or Perl or both?
> >
> > 1.) What should be its name? [Probably not doit() ].
> >
> > I'd like it to be called process().
>
> process() as an additional method also sounds find to me, although it's a
> bit non-parser like. However, the latter probably doesn't matter as it's an
> OO interface, and $parser->process() does make sense in that context.
>
I do prefer process(), but now read_all() comes to mind.
> > 2.) I think doit() should throw an exception on error -- that's most
> > convenient in simply apps. Does that sound right?
> >
> > Yes, if it ties in with Try::Tiny being the recommended handler at the
> Perl level.
> >
> > That means $_ will hold the msg.
>
> An exception is fine for this, as read() already throws exceptions.
OK.
I hope it was clear I meant that the caller of read()/process(), i.e. me,
would wrap it in Try::Tiny code, not that you should use Try::Tiny.
>
> 3,) Also, doit() could catch ambiguous parses, and throw an error on
> > those, with an error message indicating where the ambiguity happened.
> > Currently ambiguity must be explicitly checked for. If you don't, and
> > it's a problem, you (in effect) have a silent error condition. Should I
> > treat ambiguous parses as errors?
> >
> > Could that be an option?
>
> This is already an option and I think it should stay that way:
>
> my $parser = Marpa::R2::Scanless::R->new({
> grammar => $grammar,
> semantics_package => $semantics_package,
> trace_terminals => $debug,
> trace_values => $debug,
> max_parses => 1, <------------------ this
> }) or die;
>
> However, I think we should consider changing max_parses to be 1 by
> default. I'd imagine the vast majority of people want an ambiguous parse
> tree result to be the exception rather than norm and for those parties who
> want to take advantage of it, they can simple set max_parses to their own
> value (or 0/-1 or something along those lines).
>
Yes, a default of 1 sounds perfect.
--
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.