Hostname: page-component-77f85d65b8-pztms Total loading time: 0 Render date: 2026-04-19T18:18:57.512Z Has data issue: false hasContentIssue false

Calculating correct compilers

Published online by Cambridge University Press:  16 September 2015

PATRICK BAHR
Affiliation:
Department of Computer Science, University of Copenhagen, Denmark (e-mail: paba@diku.dk)
GRAHAM HUTTON
Affiliation:
School of Computer Science, University of Nottingham, UK (e-mail: graham.hutton@nottingham.ac.uk)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the 'Save PDF' action button.

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.

Information

Type
Articles
Copyright
Copyright © Cambridge University Press 2015 
Submit a response

Discussions

No Discussions have been published for this article.