An algebraic approach to the design of compilers for object-oriented languages

7Citations
Citations of this article
8Readers
Mendeley users who have this article in their library.

Abstract

In this paper we describe an algebraic approach to construct provably correct compilers for objectoriented languages; this is illustrated for programs written in a language similar to a sequential subset of Java. It includes recursive classes, inheritance, dynamic binding, recursion, type casts and test, assignment, and classbased visibility, but a copy semantics. In our approach, we tackle the problem of compiler correctness by reducing the task of compilation to that of program refinement. Compilation is identified with the reduction of a source program to a normal form that models the execution of object code. The normal form is generated by a series of correctness-preserving transformations that are proved sound from the basic laws of the language; therefore it is correct by construction. The main advantages of our approach are the characterisation of compilation within a uniform framework, where comparisons and translations between semantics are avoided, and the modularity and extensibility of the resulting compiler.

Cite

CITATION STYLE

APA

Duran, A., Cavalcanti, A., & Sampaio, A. (2010). An algebraic approach to the design of compilers for object-oriented languages. Formal Aspects of Computing, 22(5), 489–535. https://doi.org/10.1007/s00165-009-0124-9

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free