Skip to content

variable parser engines: LL(1/k/*) #202

@CrockAgile

Description

@CrockAgile

Is your feature request related to a problem? Please describe.
I experimented with adding an LL(1) parser to the project, and for a large input DNA sentence (ACGT x 10000), the LL(1) parser out performed Earley by 10,000x

this is the ideal case for an LL(1) parser, but it got me wondering how the crate could better support more restricted grammars

Describe the solution you'd like
my naive initial hope that the parser API could offer variants:

  • choose the explicit parser the grammar requires (caller knows best)
  • dynamic unambiguous which handles arbitrary token lookahead requirements (at greater cost)
  • dynamic ambiguous (current Earley parsing) which handles ambiguity (at greatest cost)

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions