@inproceedings{2c1e93df746c42718de6534141d0c9b5,
title = "Modelling GLL Parser Implementations",
abstract = "We describe the development of space-efficient implementations of GLL parsers, and the process by which we refine a set-theoretic model of the algorithm into a practical parser generator that creates practical parsers. GLL parsers are recursive descent-like, in that the structure of the parser{\textquoteright}s code closely mirrors the grammar rules, and so grammars (and their parsers) may be debugged by tracing the running parser in a debugger. While GLL recognisers are straightforward to describe, full GLL parsers present technical traps and challenges for the unwary. In particular, na{\"i}ve implementations based closely on the theoretical description of GLL can result in data structures that are not practical for grammars for real programming language grammars such as ANSI-C. We develop an equivalent formulation of the algorithm as a high-level set-theoretic model supported by table-based indices, in order to then explore a set of alternative implementations which trade space for time in ways which preserve the cubic bound.",
keywords = "GLL parsing, general context-free parsing, implementation spaces, time-space tradeoffs",
author = "Adrian Johnstone and Elizabeth Scott",
year = "2011",
doi = "10.1007/978-3-642-19440-5_4",
language = "English",
isbn = "978-3-642-19439-9",
series = "Lecture Notes in Computer Science",
publisher = "Springer",
pages = "42--61",
editor = "Brian Malloy and Steffen Staab and {van den Brand}, Mark",
booktitle = "Software Language Engineering: Third International Conference, SLE 2010, Eindhoven, The Netherlands, October 12-13, 2010, Revised Selected Papers",
}