A design for a processor that is not meant for implementation but that represents a model for processing abstract machine language. Its instruction set can use instructions that more closely resemble the compiled language than the instructions used by an actual computer. It can also be used to make the implementation of the language more portable to other platforms.