Recursive ascent-descent parsers

2Citations
Citations of this article
4Readers
Mendeley users who have this article in their library.

This article is free to access.

Abstract

Non-backtracking recursive descent parsers are easy to create but suffer from the disadvantage that they are limited to the relatively small LL(k) class of grammars. Recursive ascent parsers can be built for the much larger LR(k) class of grammars, but they are likely be too large to be useful and manual insertion of semantic action code into the parsers would require considerable skill. A composite approach, dubbed ‘recursive ascent-descent parsing’ or XLC(l) parsing, and which is related to left-corner parsing, solves all the problems. The parser has two parts - a top-down part and a bottom-up part. Either or both parts may be implemented as a collection of recursive functions or by a table-driven parsing algorithm. When a table-driven implementation of the bottom-up part is used, any syntax error recovery scheme applicable to LR parsers can be employed. Small, fast, implementations of the parsers are possible.

Cite

CITATION STYLE

APA

Nigel Horspool, R. (1991). Recursive ascent-descent parsers. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 477 LNCS, pp. 1–10). Springer Verlag. https://doi.org/10.1007/3-540-53669-8_70

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free