Undoing Software Engineering
Demodularization of a SGLR Parser for Performance Gains
M. Kapitonenko (TU Delft - Electrical Engineering, Mathematics and Computer Science)
Jasper Denkers – Mentor (TU Delft - Programming Languages)
Daniel A.A. Pelsmaeker – Graduation committee member (TU Delft - Programming Languages)
Eelco Visser – Graduation committee member (TU Delft - Programming Languages)
Rangarao Venkatesha Prasad – Coach (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
JSGLR2 is a java implementation of the Scannerless Generalized LR-parsing (SGLR) algorithm. It employs a modular architecture. This architecture comes with a performance overhead for letting multiple components interact with each other. This paper looks into the size of the performance overhead penalty for the recovery parser variant. It does so by creating an 'inlined' version of the recovery parser variant. The inlined recovery variant is a JSGLR2 implementation that ignores the modular architecture, and hard-codes the components. The performance of the inlined variant is measured with a pre-existing evaluation suite. The results show that there is a performance increase between the original, and the inlined variant.