An interpreter can be viewed as performing two tasks: parsing and execution. Interpreters are specialized by partially evaluating the parsing activity while leaving the execution component as residue. We give a procedure for identifying goals that participate in the parsing process and present rules for unfolding these goals. The unfolding rules are independent of the object-program being compiled and can be generated by a one-time inspection of an interpreter. This makes specializing interpreters a practical technique for compiling programs
This paper exploits the concept of optimizing the interpreted execution of Java programs with SuperO...
Abstract. We describe how to implement strength reduction, loop-invariant code motion and loop quasi...
Program transformation is an appealing technique which allows to improve run-time efficiency, space-...
Scientists across many diverse fields, including medicine, astronomy and biology, often program to a...
We investigate representations of imperative programs as constrained Horn clauses. Starting from ope...
Interpretation and run-time compilation techniques are becoming increasingly important due to the ne...
Program specialization is a collection of program transformation techniques for improving program ef...
DynSem is a domain-specific language for concise specification of the dynamic semantics of programmi...
Program specialization is a program transformation methodology which improves program efficiency by ...
Abstract. A partial evaluator, given a program and a known “static” part of its input data, outputs ...
One of the most challenging tasks a programmer can face is attempting to analyse and understand a le...
Program specialization is a collection of program transformation techniques for improving program ef...
For domain specific languages, “scripting languages”, dynamic languages, and for virtual machine-bas...
Writing meta interpreters is a well-known technique to enhance the expressive power of logic program...
International audienceLanguage interpreters are generally slower than (JIT) compiled implementations...
This paper exploits the concept of optimizing the interpreted execution of Java programs with SuperO...
Abstract. We describe how to implement strength reduction, loop-invariant code motion and loop quasi...
Program transformation is an appealing technique which allows to improve run-time efficiency, space-...
Scientists across many diverse fields, including medicine, astronomy and biology, often program to a...
We investigate representations of imperative programs as constrained Horn clauses. Starting from ope...
Interpretation and run-time compilation techniques are becoming increasingly important due to the ne...
Program specialization is a collection of program transformation techniques for improving program ef...
DynSem is a domain-specific language for concise specification of the dynamic semantics of programmi...
Program specialization is a program transformation methodology which improves program efficiency by ...
Abstract. A partial evaluator, given a program and a known “static” part of its input data, outputs ...
One of the most challenging tasks a programmer can face is attempting to analyse and understand a le...
Program specialization is a collection of program transformation techniques for improving program ef...
For domain specific languages, “scripting languages”, dynamic languages, and for virtual machine-bas...
Writing meta interpreters is a well-known technique to enhance the expressive power of logic program...
International audienceLanguage interpreters are generally slower than (JIT) compiled implementations...
This paper exploits the concept of optimizing the interpreted execution of Java programs with SuperO...
Abstract. We describe how to implement strength reduction, loop-invariant code motion and loop quasi...
Program transformation is an appealing technique which allows to improve run-time efficiency, space-...