Skip to content

ISGLR: Incremental Scannerless GLR

We present the Incremental Scannerless Generalized LR(ISGLR) parsing algorithm, which combines the benefits of Incremental Generalized LR (IGLR) parsing and Scanner-less Generalized LR (SGLR) parsing. The ISGLR parser can reuse parse trees from unchanged regions in the input and thus only needs to parse changed regions. We also present incremental techniques for imploding the parse tree to an Abstract Syntax Tree (AST) and syntax highlighting. Scannerless parsing relies heavily on non-determinism during parsing, negatively impacting the incrementality of ISGLR parsing. We evaluated the ISGLR parsing algorithm using file histories from Git, achieving a speedup of up to 25 times over non-incremental SGLR

SPLASH: G: Incremental Scannerless Generalized LR Parsing, Maarten P. Sijm, 2020