A PREttier compiler-compiler: generating higher-order parsers in C
Software—Practice & Experience
An efficient context-free parsing algorithm
Communications of the ACM
Efficient Parsing for Natural Language: A Fast Algorithm for Practical Systems
Efficient Parsing for Natural Language: A Fast Algorithm for Practical Systems
Compiling language definitions: the ASF+SDF compiler
ACM Transactions on Programming Languages and Systems (TOPLAS)
The theory of parsing, translation, and compiling
The theory of parsing, translation, and compiling
Generalised Recursive Descent parsing and Fellow-Determinism
CC '98 Proceedings of the 7th International Conference on Compiler Construction
CC '99 Proceedings of the 8th International Conference on Compiler Construction, Held as Part of the European Joint Conferences on the Theory and Practice of Software, ETAPS'99
Generalized Bottom Up Parsers With Reduced Stack Activity
The Computer Journal
ACM Transactions on Programming Languages and Systems (TOPLAS)
BRNGLR: a cubic Tomita-style GLR parsing algorithm
Acta Informatica
Proofs and pedagogy; science and systems: The grammar tool box
Science of Computer Programming
Proceedings of the Tenth Workshop on Language Descriptions, Tools and Applications
Modelling GLL parser implementations
SLE'10 Proceedings of the Third international conference on Software language engineering
LDT: a language definition technique
Proceedings of the Eleventh Workshop on Language Descriptions, Tools and Applications
Parse forest diagnostics with dr. ambiguity
SLE'11 Proceedings of the 4th international conference on Software Language Engineering
SFM'12 Proceedings of the 12th international conference on Formal Methods for the Design of Computer, Communication, and Software Systems: formal methods for model-driven engineering
Proceedings of the 28th Annual ACM Symposium on Applied Computing
Creating and using domain-specific language features
Proceedings of the First Workshop on the Globalization of Domain Specific Languages
Science of Computer Programming
Banana Algebra: Compositional syntactic language extension
Science of Computer Programming
Hi-index | 0.01 |
Recursive Descent (RD) parsers are popular because their control flow follows the structure of the grammar and hence they are easy to write and to debug. However, the class of grammars which admit RD parsers is very limited. Backtracking techniques may be used to extend this class, but can have explosive runtimes and cannot deal with grammars with left recursion. Tomita-style RNGLR parsers are fully general but are based on LR techniques and do not have the direct relationship with the grammar that an RD parser has. We develop the fully general GLL parsing technique which is recursive descent-like, and has the property that the parse follows closely the structure of the grammar rules, but uses RNGLR-like machinery to handle non-determinism. The resulting recognisers run in worst-case cubic time and can be built even for left recursive grammars.