An approach to verifiable compiling specification and prototyping

Jonathan Bowen, He Jifeng, Paritosh Pandya

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

9 Scopus citations

Abstract

A compiler may be specified as a set of theorems, each describing how a construct in the programming language is translated into a sequence of machine instructions. The machine may be specified as an interpreter written in the programming language itself. Using refinement algebra, it can then be verified that interpreting a compiled program is the same or better than executing the original source program. The compiling specification is very similar to a logic program and thus a prototype compiler (and interpreter) may easily be produced in a language such as Prolog. A subset of the occam programming language and the transputer instruction set are used to illustrate the approach. An advantage of the method is that new programming constructs can be added without necessarily affecting existing development work.

Original languageEnglish
Title of host publicationProgramming Language Implementation and Logic Programming - International Workshop PLILP 1990, Proceedings
EditorsPierre Deransart, Jan Maluszynski
PublisherSpringer Verlag
Pages45-59
Number of pages15
ISBN (Print)9783540530107
DOIs
StatePublished - 1990
Externally publishedYes
Event2nd International Workshop on Programming Language Implementation and Logic Programming, PLILP 1990 - Linkoping, Sweden
Duration: 20 Aug 199022 Aug 1990

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume456 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference2nd International Workshop on Programming Language Implementation and Logic Programming, PLILP 1990
Country/TerritorySweden
CityLinkoping
Period20/08/9022/08/90

Fingerprint

Dive into the research topics of 'An approach to verifiable compiling specification and prototyping'. Together they form a unique fingerprint.

Cite this