Back to Search
Start Over
Structuring the GLL parsing algorithm for performance
- Source :
- Science of Computer Programming. 125:1-22
- Publication Year :
- 2016
- Publisher :
- Elsevier BV, 2016.
-
Abstract
- GLL (Generalised LL) parsing algorithms provide a sequentialisation of recursive-descent style parsing that yields efficient, compiled parsers which admit any context free grammar, including left recursive and non-left-factored rules. The resulting parsers retain the 'recursively decent' property that the structure of the parser closely follows the structure of the grammar; as such it is feasible to debug grammars by tracing the corresponding GLL parser using a conventional code debugger.In this paper we develop two variants of the GLL algorithm called FGLL and RGLL which respectively support (i) efficient parsing of factorised grammars and (ii) parsing using a reduced set of descriptors. Both techniques yield significant speed up on programming language grammars compared to the base GLL algorithm. We also discuss the ordering of descriptor processing and its effects on performance. Two new variants of the GLL algorithm.FGLL for efficient parsing of factorised grammars.RGLL for parsing using a reduced set of descriptors.Both techniques yield significant speed up on programming language grammars compared and can be used together.The modifications are all at algorithm level and do not depend on inplementation details of the GLL data structures.
- Subjects :
- Parsing
Computer science
Programming language
business.industry
020207 software engineering
02 engineering and technology
Parsing expression grammar
computer.software_genre
Top-down parsing
TheoryofComputation_MATHEMATICALLOGICANDFORMALLANGUAGES
Parser combinator
0202 electrical engineering, electronic engineering, information engineering
020201 artificial intelligence & image processing
Top-down parsing language
S-attributed grammar
Artificial intelligence
L-attributed grammar
business
computer
Algorithm
Software
Natural language processing
Bottom-up parsing
Subjects
Details
- ISSN :
- 01676423
- Volume :
- 125
- Database :
- OpenAIRE
- Journal :
- Science of Computer Programming
- Accession number :
- edsair.doi...........8fa6b4e844674661e830610217405d37
- Full Text :
- https://doi.org/10.1016/j.scico.2016.04.003