Partial evaluation and automatic program generation
Partial evaluation and automatic program generation
Realistic compilation by partial evaluation
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
Advanced compiler design and implementation
Advanced compiler design and implementation
Static and Dynamic Program Compilation by Interpreter Specialization
Higher-Order and Symbolic Computation
Proving correctness of compiler optimizations by temporal logic
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Machines, Languages and Computation
Machines, Languages and Computation
Automatically proving the correctness of compiler optimizations
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Simple relational correctness proofs for static analyses and program transformations
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Imperative program optimization by partial evaluation
Proceedings of the 2004 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Transformation by interpreter specialisation
Science of Computer Programming - Special issue on program transformation
Introduction to Automata Theory, Languages, and Computation (3rd Edition)
Introduction to Automata Theory, Languages, and Computation (3rd Edition)
An investigation of Jones optimality and BTI-universal specializers
Higher-Order and Symbolic Computation
Self-generating program specializers
Information Processing Letters
An experiment with the fourth futamura projection
PSI'09 Proceedings of the 7th international Andrei Ershov Memorial conference on Perspectives of Systems Informatics
A self-applicable online partial evaluator for recursive flowchart languages
Software—Practice & Experience
Hi-index | 0.01 |
We describe how to implement strength reduction, loop-invariant code motion and loop quasi-invariant code motion by specializing instrumented interpreters. To curb code duplication intrinsic to such specialization, we introduce a new program transformation, rewinding, which uses Moore-automata minimization to remove duplicated code.