How to replace failure by a list of successes
Proc. of a conference on Functional programming languages and computer architecture
Lazy recursive descent parsing for modular language implementation
Software—Practice & Experience
Software—Practice & Experience
Memoization in top-down parsing
Computational Linguistics
The predictive analyzer and a path elimination technique
Communications of the ACM
The Functional Treatment of Parsing
The Functional Treatment of Parsing
Efficient Parsing for Natural Language: A Fast Algorithm for Practical Systems
Efficient Parsing for Natural Language: A Fast Algorithm for Practical Systems
Techniques for automatic memoization with applications to context-free parsing
Computational Linguistics
Realization of natural language interfaces using lazy functional programming
ACM Computing Surveys (CSUR)
Packrat parsers can support left recursion
PEPM '08 Proceedings of the 2008 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Modular and efficient top-down parsing for ambiguous left-recursive grammars
IWPT '07 Proceedings of the 10th International Conference on Parsing Technologies
Parser combinators for ambiguous left-recursive grammars
PADL'08 Proceedings of the 10th international conference on Practical aspects of declarative languages
Hi-index | 0.00 |
Top-down backtracking language processors are highly modular, can handle ambiguity, and are easy to implement with clear and maintainable code. However, a widely-held, and incorrect, view is that top-down processors are inherently exponential for ambiguous grammars and cannot accommodate left-recursive productions. It has been known for many years that exponential complexity can be avoided by memoization, and that left-recursive productions can be accommodated through a variety of techniques. However, until now, memoization and techniques for handling left recursion have either been presented independently, or else attempts at their integration have compromised modularity and clarity of the code.