An experiment in partial evaluation: the generation of a compiler generator
Proc. of the first international conference on Rewriting techniques and applications
Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Denotational semantics: a methodology for language development
Denotational semantics: a methodology for language development
From interpreting to compiling binding times
Proceedings of the third European symposium on programming on ESOP '90
Automatic autoprojection of recursive equations with global variable and abstract data types
Science of Computer Programming
Automatic autoprojection of higher order recursive equations
ESOP '90 Selected papers from the symposium on 3rd European symposium on programming
Generating a compiler for a lazy language by partial evaluation
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Partial evaluation and automatic program generation
Partial evaluation and automatic program generation
PEPM '93 Proceedings of the 1993 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Fortran program specialization
ACM SIGPLAN Notices
PEPM '95 Proceedings of the 1995 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Distributed partial evaluation
PASCO '97 Proceedings of the second international symposium on Parallel symbolic computation
Generation of LR parsers by partial evaluation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Eta-Redexes in Partial Evaluation
Partial Evaluation - Practice and Theory, DIKU 1998 International Summer School
SIMILIX: A Self-Applicable Partial Evaluator for Scheme
Partial Evaluation - Practice and Theory, DIKU 1998 International Summer School
Hi-index | 0.00 |
Applications of partial evaluation have so far mainly focused on generation of compilers from interpreters for programming languages. We partially evaluate a simple general LR(k) parsing algorithm. To obtain good results, we rewrite the algorithm using a number of binding-time improvements. The final LR(1) parser has been specialized using Similix, a partial evaluator for a higher order subset of Scheme [3]. The obtained specialized parsers are efficient and compact.Partial evaluation is responsible for the (equivalent of) the sets-of-items construction, and the construction of parsing tables.This paper is an extended abstract of [14].