Continuation Semantics as Horn Clauses

Provably correct compilation is an important aspect in development of high assurance software systems. In this paper we further develop our approach to provably correct compilation based on Horn logical semantics of programming languages and partial evaluation. We show that the definite clause grammar (DCG) notation can be used for specifying both the syntax and semantics of imperative languages. We next show that continuation semantics can also be expressed in the Horn logical framework. Our approach has been applied for developing the semantics of the SCR specification language, the semantics is then used to (automatically) generate target code in a provably correct manner.