Semantics modifiers and inverse computation Sergei M Abramov and Robert Glueck An approach for systematically modifying the semantics of programming languages by semantics modifiers is described. It allows the design of general and reusable ``semantics components'' without the penalty of being too inefficient. Inverse computation is used to demonstrate the computational feasibility of the approach. Equivalence transformers are shown to fulfill the requirements of semantics modifiers. Finally, projections are given that allow the efficient implementation of non-standard interpreters and non-standard compilers using program specialization.