Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
The C programming language
Re-engineering needs generic programming language technology
ACM SIGPLAN Notices
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)
Even faster generalized LR parsing
Acta Informatica
The theory of parsing, translation, and compiling
The theory of parsing, translation, and compiling
Deterministic Techniques for Efficient Non-Deterministic Parsers
Proceedings of the 2nd Colloquium on Automata, Languages and Programming
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
What Assembly Language Programmers Get Up To: Control Flow Challenges in Reverse Compilation
CSMR '00 Proceedings of the Conference on Software Maintenance and Reengineering
Generalized Bottom Up Parsers With Reduced Stack Activity
The Computer Journal
CC'03 Proceedings of the 12th international conference on Compiler construction
Proofs and pedagogy; science and systems: The grammar tool box
Science of Computer Programming
Faster Scannerless GLR Parsing
CC '09 Proceedings of the 18th International Conference on Compiler Construction: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Hi-index | 0.00 |
Reduction Incorporated (RI) parsers deliver high performance by suppressing the stack activity except for those rules that generate embedded recursion. Automaton constructions for RI parsing have been presented by Aycock and Horspool [J. Aycock, N. Horspool, Faster generalised LR parsing, in: Compiler Construction, 8th Intnl. Conf, CC'99, in: Lecture Notes in Computer Science, vol. 1575, Springer-Verlag, 1999, pp. 32-46] and by Scott and Johnstone [A. Johnstone, E. Scott, Generalised regular parsers, in: G. Hedin (Ed.), Compiler Construction, 12th Intnl. Conf, CC'03, in: Lecture Notes in Computer Science, vol. 2622, Springer-Verlag, Berlin, 2003, pp. 232-246] but both can yield very large tables. An unusual aspect of the RI automaton is that the degree of stack activity suppression can be varied in a fine-grained way by choosing different grammar terminalisation sets, and this provides a large family of potential RI automata for real programming languages, some of which have manageable table size but still show high performance. In this paper we describe automatic construction of minimal grammar terminalisation sets, giving examples drawn from ANSI-C, Cobol and Pascal; we describe the use of profiling to inform the choice of RI automaton; we investigate the use of RI parsers for scannerless parsing; and we explain some of the phenomena that influence the time/space trade-off for RI parsers.