Optimizing SGLR Parser Performance
J. de Ruiter (TU Delft - Electrical Engineering, Mathematics and Computer Science)
Eelco Visser – Mentor (TU Delft - Programming Languages)
Jasper Denkers – Mentor (TU Delft - Programming Languages)
D.A.A. Pelsmaeker – Mentor (TU Delft - Programming Languages)
RangaRao Venkatesha Prasad – Graduation committee member (TU Delft - Embedded Systems)
More Info
expand_more
Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.
Abstract
The Scannerless Generalized-LR (SGLR) parsing algorithm allows parsing of declarative and modular syntax definitions. However, SGLR is notorious for having low performance, negatively impacting its adoption in practice. This paper presents several performance optimizations for JSGLR2, which is an implementation of SGLR. All optimizations are implemented and evaluated in parallel, which is possible due to JSGLR2's modular architecture. The evaluation is performed using existing sources from three different languages. A combined speed-up of 9% up to 44% is achieved, improving the practicality of JSGLR2.