Undoing Software Engineering

Demodularization of a SGLR Parser for Performance Gains

Bachelor Thesis (2021)
Author(s)

M. Kapitonenko (TU Delft - Electrical Engineering, Mathematics and Computer Science)

Contributor(s)

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)

Faculty
Electrical Engineering, Mathematics and Computer Science
Copyright
© 2021 Nik Kapitonenko
More Info
expand_more
Publication Year
2021
Language
English
Copyright
© 2021 Nik Kapitonenko
Graduation Date
02-07-2021
Awarding Institution
Delft University of Technology
Project
CSE3000 Research Project
Programme
Computer Science and Engineering
Faculty
Electrical Engineering, Mathematics and Computer Science
Reuse Rights

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.

Files

License info not available