Optimization of parser tables for portable compilers
ACM Transactions on Programming Languages and Systems (TOPLAS) - Lecture notes in computer science Vol. 174
A new analysis of LALR formalisms
ACM Transactions on Programming Languages and Systems (TOPLAS)
An experiment in partial evaluation: the generation of a compiler generator
Proc. of the first international conference on Rewriting techniques and applications
Lambda lifting: transforming programs to recursive equations
Proc. of a conference on Functional programming languages and computer architecture
Unifying view of recent LALR(1) lookahead set algorithms
SIGPLAN '86 Proceedings of the 1986 SIGPLAN symposium on Compiler construction
SIGPLAN '86 Proceedings of the 1986 SIGPLAN symposium on Compiler construction
Remarks on recent algorithms for LALR lookahead sets
ACM SIGPLAN Notices
The IFIP TC2/WG 2.1 Working Conference on Program specification and transformation
Response to remarks on recent algorithms for LALR lookahead sets
ACM SIGPLAN Notices
LR PARSING theory and practice
LR PARSING theory and practice
Recursive ascent: an LR analog to recursive descent
ACM SIGPLAN Notices
Partial computation and the construction of language processors
Partial computation and the construction of language processors
Parsing theory volume 2: LR(K) and LL(K) parsing
Parsing theory volume 2: LR(K) and LL(K) parsing
Lalr—a generator for efficient parsers
Software—Practice & Experience
The C programming language
Partial evaluation is fuller laziness
PEPM '91 Proceedings of the 1991 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Proceedings of the 5th ACM conference on Functional programming languages and computer architecture
Proceedings of the 5th ACM conference on Functional programming languages and computer architecture
For a better support of static data flow
Proceedings of the 5th ACM conference on Functional programming languages and computer architecture
Automatic autoprojection of higher order recursive equations
ESOP '90 Selected papers from the symposium on 3rd European symposium on programming
Partial evaluation and automatic program generation
Partial evaluation and automatic program generation
Partial evaluation of general parsers
PEPM '93 Proceedings of the 1993 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Tutorial notes on partial evaluation
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Continuation-based partial evaluation
LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
Lisp and Symbolic Computation - Special issue on continuations—part I
Proceedings of the first ACM SIGPLAN international conference on Functional programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
Efficient Computation of LALR(1) Look-Ahead Sets
ACM Transactions on Programming Languages and Systems (TOPLAS)
Communications of the ACM
Communications of the ACM
The Functional Treatment of Parsing
The Functional Treatment of Parsing
Compiler Design
Revised Report on the Algorithmic Language Scheme
Higher-Order and Symbolic Computation
Proceedings of the 1989 Glasgow Workshop on Functional Programming
Deterministic, Error-Correcting Combinator Parsers
Advanced Functional Programming, Second International School-Tutorial Text
Definitional interpreters for higher-order programming languages
ACM '72 Proceedings of the ACM annual conference - Volume 2
A supercompiler system based on the language REFAL
ACM SIGPLAN Notices
Constructing Tournament Representations: An Exercise in Pointwise Relational Programming
MPC '02 Proceedings of the 6th International Conference on Mathematics of Program Construction
Termination analysis and specialization-point insertion in offline partial evaluation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Electronic Notes in Theoretical Computer Science (ENTCS)
Hi-index | 0.00 |
The combination of modern programming languages and partial evaluation yields new approaches to old problems. In particular, the combination of functional programming and partial evaluation can turn a general parser into a parser generator. We use an inherently functional approach to implement general LR(k) parsers and specialize them with respect to the input grammars using offline partial evaluation. The functional specification of LR parsing yields a concise implementation of the algorithms themselves. Furthermore, we demonstrate the elegance of the functional approach by incorporating on-the-fly attribute evaluation for S-attributed grammars and two schemes for error recovery, which lend themselves to natural and elegant implementation. The parser require only minor changes to achieve good specialization results. The generated parsers have production quality and match those produced by traditional parser generators in sped and compactness