Por favor, use este identificador para citar o enlazar este ítem:
https://repositorio.ufba.br/handle/ri/5645
metadata.dc.type: | Artigo de Periódico Artigo de Periódico |
Título : | An algebraic approach to the design of compilers for object-oriented languages |
Otros títulos : | FORMAL ASPECTS OF COMPUTING |
Autor : | Duran, Adolfo Cavalcanti, Ana Sampaio, Augusto |
metadata.dc.creator: | Duran, Adolfo Cavalcanti, Ana Sampaio, Augusto |
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. |
Palabras clave : | Algebraic transformation Refinement Compiler correctness |
URI : | http://www.repositorio.ufba.br/ri/handle/ri/5645 |
Fecha de publicación : | 2010 |
Aparece en las colecciones: | Artigo Publicado em Periódico (PEI) |
Ficheros en este ítem:
Fichero | Descripción | Tamaño | Formato | |
---|---|---|---|---|
__www.springerlink.com_c...v233544290r11287_fulltext.pdf Restricted Access | 2,41 MB | Adobe PDF | Visualizar/Abrir Request a copy |
Los ítems de DSpace están protegidos por copyright, con todos los derechos reservados, a menos que se indique lo contrario.