A Modular SGLR Parsing Architecture for Systematic Performance Optimization

Master Thesis (2018)
Author(s)

Jasper Denkers (TU Delft - Electrical Engineering, Mathematics and Computer Science)

Contributor(s)

Eduardo de Souza Amorim – Mentor

Michael Steindorfer – Mentor

Eelco Visser – Mentor

Faculty
Electrical Engineering, Mathematics and Computer Science
More Info
expand_more
Publication Year
2018
Language
English
Graduation Date
24-01-2018
Awarding Institution
Delft University of Technology
Faculty
Electrical Engineering, Mathematics and Computer Science
Downloads counter
621
Collections
thesis
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

SGLR parsing is an approach that enables parsing of context-free languages by means of declarative, concise and maintainable syntax definition. Existing implementations suffer from performance issues and their architectures are often highly coupled without clear separation between their components. This work introduces a modular SGLR architecture with several variants implemented for its components to systematically benchmark and improve performance. This work evaluates these variants both independently and combined using artificial and real world programming languages grammars. The architecture is implemented in Java as JSGLR2, the successor of the original parser in Spoofax, interpreting parse tables generated by SDF3. The improvements combined result into a parsing and imploding time speedup from 3x on Java to 10x on GreenMarl with respect to the previous JSGLR implementation.

Files

Modular_sglr.pdf
(pdf | 3.04 Mb)
License info not available