RUS  ENG
Полная версия
ЖУРНАЛЫ // Программные системы: теория и приложения // Архив

Программные системы: теория и приложения, 2022, том 13, выпуск 4, страницы 111–137 (Mi ps411)

Математические основы программирования

Исследование эффективности специализации интерпретаторов на объектно-ориентированном языке Java методами частичных вычислений с BT-объектами

И. А. Адамовичa, Ю. А. Климовb

a Институт программных систем им. А. К. Айламазяна РАН, Веськово, Россия
b Институт прикладной математики им. М.В. Келдыша РАН, Москва, Россия

Аннотация: Барьеры на пути специализации реальных программ, написанных в объектно-ориентированной парадигме, часто могут быть преодолены при помощи современных методов метавычислений. Один из барьеров — необходимость разрешения полиморфизма на этапе анализа программы, до ее исполнения. Эта проблема успешно решается для ряда случаев в специализаторе JaSpe, что показано в данной статье. Работа посвящена компиляции программ с использованием метода специализации, без использования компилятора. Мы применили специализатор JaSpe, основанный на методе частичных вычислений, к двум интерпретаторам языка арифметических выражений, написанным на Java. Интерпретаторы были реализованы методом рекурсивного спуска и с использованием шаблона «посетитель». В результате успешной специализации данных интерпретаторов по программе вычисления квадратного корня на языке арифметических выражений были получены скомпилированные версии программы на языке Java. При этом скорость полученных версий программы по сравнению с исходной увеличилась в 12-22 раза.

Ключевые слова и фразы: интерпретаторы, компиляторы, частичные вычисления, специализация, метавычисления.

УДК: 519.681.3

MSC: Primary 68N15; Secondary 68N19, 68N20, 68N30

Поступила в редакцию: 02.11.2022
Подписана в печать : 05.12.2022

DOI: 10.25209/2079-3316-2022-13-4-111-137



© МИАН, 2024