A Term-Rewriting Semantics for Imperative Style Programming

David Plaisted,Lee Barnett
DOI: https://doi.org/10.48550/arXiv.2007.03075
2020-07-07
Abstract:Term rewriting systems have a simple syntax and semantics and facilitate proofs of correctness. However, they are not as popular in industry or academia as imperative languages. We define a term rewriting based abstract programming language with an imperative style and a precise semantics allowing programs to be translatable into efficient imperative languages, to obtain proofs of correctness together with efficient execution. This language is designed to facilitate translations into correct programs in imperative languages with assignment statements, iteration, recursion, arrays, pointers, and side effects. It can also be used in place of a pseudo-programming language to specify algorithms.
Programming Languages,Software Engineering
What problem does this paper attempt to address?