#gll #parser #grammar #wag

wagon-gll

GLL library for WAGon generated parsers

1 stable release

1.0.0 Jun 6, 2024

#328 in Parser tooling

Apache-2.0

88KB
1.5K SLoC

WAGon-gll

Helper library for the WAGon parser generator. WAGon will generate a parser generator which does GLL parsing. All common GLL methods as well as the state are then retrieved from this library, whereas the generator will generate the specific data structures and code as required by the grammar.

This library could technically be used for any generic GLL parsing, as long as you stick to the GrammarLabel structure.

For more information, see the paper as well as https://github.com/rafaeltheraven/wagon and https://github.com/Rafaeltheraven/wagon-togll/


lib.rs:

A (pseudo) generic GLL parsing library in Rust.

Written to supplement parsers generated by wagon-codegen-gll as a proof-of-concept for the WAGon ecosystem.

This library could be used to write GLL parsers in another way, as long as you stick to required patterns. However, the library was created with WAGs in mind. As a result, if you only care about pure GLL parsing, there are probably faster implementations out there that do not have to consider the possibility of the grammar changing at runtime.

Dependencies

~6.5MB
~102K SLoC