Comp 511 Project: A Staged Interpreter for Featherweight Java
Source: Rice University
The staged interpreter presented in this paper is very specific: it breaks execution into several stages with respect to the values that must be supplied to the methods that are invoked in a Featherweight Java program. Yet, such an interpreter allows building specific pieces of code that can accept different values for the invocation of the same method multiple times over. Such pieces of code provide valuable abstraction capabilities, similar to the use of macros in imperative languages. This paper presents the design, implementation, and testing of a staged interpreter for Featherweight Java.