|
|
||||||||||||
|
An approach to Supercompilation for Object-oriented Languages: the Java Supercompiler Case Study Andrei V. Klimov
An extension of Turchin's supercompilation from functional to object-oriented languages as it is implemented in the current version of a Java supercompiler (JScp) is reviewed. There are two novelties: rst, the construction of the specialized code of operations on objects is separated into two stages|residualization of all operations on objects during supercompilation proper and elimination of redundant code in post-processing; and second, limited con guration analysis, which processes each Java control statement one by one using width-first unfolding of a process graph, is used. The construction of JScp is based on the principle of user control of the process of supercompilation rather than building a black-box automatic supercompiler. The rationale for this decision is discussed. Keywords: specialization, |