engineering a customizable intermediate representation
The Ovm framework is a set of tools and components for building language runtimes. We present the intermediate representation and software design patterns used throughout the framework. One of the main themes in this work has been to support experimentation with new linguistic constructs and implementation techniques. To this end, framework components were designed to be parametric with respect to the instruction set on which they operate. We argue that our approach eases the task of writing new components without sacrificing efficiency.
engine representation tools component language runtime software design pattern support experimentation linguistics implementation parametric instruction task writing efficiency  framework 