The abstract implementation of the language on some abstract machine is a logical step in the definition of its operational semantics and in the definition of its (partially) correct implementation. An abstract machine for operational semantics is a well-known formalism in proving the correctness of programming languages. There are several ways to define an abstract machine for a given language specification. In our article, we focus on an abstract machine for structural operational semantics as a stack machine with two different model representations of memory, and we present a complex tool enabling compilation from a higher imperative (toy) language into an abstract machine allowing, in addition, the visualization of individual computational steps, interactive memory manipulation and feedback by compiling back to a higher language. This work presents an abstract machine designed primarily for educational purposes, enabling the visualization and interaction with the compilation process of a simple imperative language.
No takes yet. Share an insight, caveat, or question.
Steingartner et al. (2024) studied this question.
Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context: