- From: Norm Tovey-Walsh <norm@saxonica.com>
- Date: Fri, 26 Aug 2022 16:24:48 +0100
- To: Bethan Tovey-Walsh <accounts@bethan.wales>
- Cc: John Lumley <john@saxonica.com>, public-ixml@w3.org
Received on Friday, 26 August 2022 15:28:19 UTC
Bethan Tovey-Walsh <accounts@bethan.wales> writes: > A further thought - I think some of the speed gains in Norm’s Earley > parser may be coming from the reduction in epsilon transitions (if > I’ve understood him correctly). If so, the rewriting to > > f, f-star | () > > has the same problem as Norm’s original rewriting, in that it requires > the parser to recognize the empty string as the final token of any > starred sequence. Rewriting f* to > > f-plus | () > > avoids that. That’s consistent with my current understanding. I believe Bethan’s formulation is faster because it generates fewer Earley items. f-star = (f, f-star) | () always requires a terminal transition through f-star => (). > So I’m guessing your rewrite will work well for Norm’s GLL parser, but > may wipe out some of the speed gains he’s reported for the Earley > parser. I’ll try to persuade him to experiment and report back! Perhaps. I have no intuition about the GLL parser yet. I might give this a try. I’ll definitely start working on the “ways to convert EBNF to BNF” note for the website. Be seeing you, norm -- Norm Tovey-Walsh Saxonica
Received on Friday, 26 August 2022 15:28:19 UTC