, Volume 8, Issue 1, pp 61-70

How to control unfolding when specializing interpreters

Rent the article at a discount

Rent now

* Final gross prices may vary according to local VAT.

Get Access


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.