TY - JOUR
T1 - A new approach to compiling adaptive programs
AU - Palsberg, Jens
AU - Patt-Shamir, Boaz
AU - Lieberherr, Karl
N1 - Funding Information:
We thank Linda Seiter and the anonymous referees for many insightful comments on a draft of the paper. This work has been partially supportedb y the National Science Foundation under grant numbers CDA-9015692 (Research Instrumentation), and CCR-9402486 (Software Engineering). The first author was supported by BRIGS (Basic Research in Computer Science, Centre of the Danish National Research Foundation).
PY - 1997/9
Y1 - 1997/9
N2 - An adaptive program can be understood as an object-oriented program where the class graph is a parameter, and hence the class graph may be changed without changing the program. The problem of compiling an adaptive program and a class graph into an object-oriented program was studied by Palsberg et al. (1995). Their compiler is efficient but works only in special cases. In this paper we present and prove the correctness of a compiler that handles the general case. The compiler first computes a finite-state automaton and then uses it to generate efficient code.
AB - An adaptive program can be understood as an object-oriented program where the class graph is a parameter, and hence the class graph may be changed without changing the program. The problem of compiling an adaptive program and a class graph into an object-oriented program was studied by Palsberg et al. (1995). Their compiler is efficient but works only in special cases. In this paper we present and prove the correctness of a compiler that handles the general case. The compiler first computes a finite-state automaton and then uses it to generate efficient code.
UR - https://www.scopus.com/pages/publications/0031234788
U2 - 10.1016/s0167-6423(97)00004-x
DO - 10.1016/s0167-6423(97)00004-x
M3 - ???researchoutput.researchoutputtypes.contributiontojournal.article???
AN - SCOPUS:0031234788
SN - 0167-6423
VL - 29
SP - 303
EP - 326
JO - Science of Computer Programming
JF - Science of Computer Programming
IS - 3
ER -