Author:
BAHR PATRICK,HUTTON GRAHAM
Abstract
AbstractIn 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.
Publisher
Cambridge University Press (CUP)
Cited by
14 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Strongly-Typed Multi-View Stack-Based Computations;International Symposium on Principles and Practice of Declarative Programming;2023-10-22
2. Calculating Compilers for Concurrency;Proceedings of the ACM on Programming Languages;2023-08-30
3. Modulo in high-performance code: strength reduction for modulo-based array indexing in loops;The 35th Symposium on Implementation and Application of Functional Languages;2023-08-29
4. Monadic compiler calculation (functional pearl);Proceedings of the ACM on Programming Languages;2022-08-29
5. Calculating dependently-typed compilers (functional pearl);Proceedings of the ACM on Programming Languages;2021-08-22