Artigo de Periódico
An algebraic approach to the design of compilers for object-oriented languages
Fecha
2010Registro en:
0934-5043
v. 22, v. 5
Autor
Duran, Adolfo
Cavalcanti, Ana
Sampaio, Augusto
Duran, Adolfo
Cavalcanti, Ana
Sampaio, Augusto
Institución
Resumen
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.