Calculating correct compilers

Bahr, Patrick and Hutton, Graham (2015) Calculating correct compilers. Journal of Functional Programming, 25 (e14). pp. 1-47. ISSN 1469-7653

[img]
Preview
PDF - Requires a PDF viewer such as GSview, Xpdf or Adobe Acrobat Reader
Download (264kB) | Preview

Abstract

In this article we present a new approach to the problem of calculating compilers. In particular, we develop a simple but general technique that allows us to derive correct compilers from high- level semantics by systematic calculation, with all details of the implementation of the compilers falling naturally out of the calculation process. Our approach is based upon the use of standard equational reasoning techniques, and has been applied to calculate compilers for a wide range of language features and their combination, including arithmetic expressions, exceptions, state, various forms of lambda calculi, bounded and unbounded loops, non-determinism, and interrupts. All the calculations in the article have been formalised using the Coq proof assistant, which serves as a convenient interactive tool for developing and verifying the calculations.

Item Type: Article
Schools/Departments: University of Nottingham UK Campus > Faculty of Science > School of Computer Science
Identification Number: https://doi.org/10.1017/S0956796815000180
Depositing User: Hutton, Prof Graham
Date Deposited: 08 Apr 2016 11:00
Last Modified: 16 Sep 2016 16:53
URI: http://eprints.nottingham.ac.uk/id/eprint/32702

Actions (Archive Staff Only)

Edit View Edit View