Abstract
Barriers of real object-oriented program specialization can be often overcome using modern metacomputation techniques. One of the barriers is the resolution of polymorphism at the stage of program analysis before the 4 execution of the program. The last problem is successfully solved for a number of cases in the JaSpe specializer, as shown in this paper. The paper is devoted to the program compilation by specialization methods, without the use of a compiler. We have applied the partial evaluator JaSpe to two arithmetic expression language interpreters written in Java. The interpreters were implemented using the recursive descent method and the visitor pattern. As a result of the successful specialization of these interpreters by the square root program written on arithmetic expression language, compiled versions of the latter were obtained. In this case, the acceleration was from 12 to 22 times.
Publisher
Keldysh Institute of Applied Mathematics
Reference30 articles.
1. Jones N.D., Gomard C.K., Sestoft P. Partial Evaluation and Automatic Program Generation // Prentice-Hall, 1993. — http://www.itu.dk/~sestoft/pebook/pebook.html
2. Marlet R. Program Specialization // Wiley-ISTE, 2012. — 544 pp.
3. Turchin V.F. The Concept of a Supercompiler // ACM Transactions on Programming Languages and Systems, 1986, 8:3. — P. 292–325. — https://doi.org/10.1145/5956.5957
4. Turchin V.F. Supercompilation: Techniques and results // Perspectives of System Informatics, Second International Andrei Ershov Memorial Conference, Akademgorodok, Novosibirsk, Russia, 1996. — Lecture Notes in Computer Science, vol. 1181, Springer. — P. 227–248. — https://doi.org/10.1007/3-540-62064-8_20
5. Климов Анд.В. Введение в метавычисления и суперкомпиляцию // М.: КомКнига, 2008. — C. 343–368.