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.
CITATION STYLE
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
Mendeley helps you to discover research relevant for your work.