dc.creatorDuran, Adolfo
dc.creatorCavalcanti, Ana
dc.creatorSampaio, Augusto
dc.creatorDuran, Adolfo
dc.creatorCavalcanti, Ana
dc.creatorSampaio, Augusto
dc.date.accessioned2022-10-07T15:14:09Z
dc.date.available2022-10-07T15:14:09Z
dc.date.issued2010
dc.identifier0934-5043
dc.identifierhttp://www.repositorio.ufba.br/ri/handle/ri/5645
dc.identifierv. 22, v. 5
dc.identifier.urihttp://repositorioslatinoamericanos.uchile.cl/handle/2250/4004635
dc.description.abstractIn 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.
dc.languageen
dc.sourceDOI: 10.1007/s00165-009-0124-9
dc.subjectAlgebraic transformation
dc.subjectRefinement
dc.subjectCompiler correctness
dc.titleAn algebraic approach to the design of compilers for object-oriented languages
dc.typeArtigo de Periódico
dc.typeArtigo de Periódico


Este ítem pertenece a la siguiente institución