120. Графическое отображение некоторых понятий суперкомпиляции (трассировщик суперкомпилятора SCP4)

Суперкомпиляция есть метод специализации программ. Суперкомпилятор SCP4 был разработан и реализован в конце 1990-х – начале 2000-х гг. для функционального языка программирования рефал-5. Для данной программы p и её частично определенной входной точки f(x0,y) суперкомпилятор разворачивает потенциально бесконечное дерево всех возможных вычислений p, начинающихся в f(x0,y), анализирует и оптимизирует это дерево и сворачивает его в граф, который представляет результат суперкомпиляции.

В рамках поддержки реализации и развития суперкомпилятора SCP4, совершенствования технологии суперкомпиляции автором разработаны принципы построения графического трассировщика суперкомпилятора SCP4 и реализована его первая версия. В данной статье описываются принципы реализации этого трассировщика и демонстрируется часть его инструментария.

Суперкомпилятор SCP4 реализован на функциональном аппликативном языке программирования  рефал-5 и является оптимизатором программ, написанных на этом же языке, основанным на технологии суперкомпиляции, основополагающие идеи которой  были заложены В. Ф. Турчиным. Суперкомпиляция выполняет метаинтерпретацию исходных программ на их частично заданных входных данных. Стартовая версия экспериментального суперкомпилятора SCP4 была разработана в конце 1990 годов автором данной статьи – под научным руководством В. Ф. Турчина. Руководство пользователя суперкомпилятора SCP4 было написано в 1999 г. А. В. Корлюковым. Первые публикации по SCP4 появились в начале 2000-х. В 2007 году А. П. Немытых опубликовал монографию “Суперкомпилятор SCP4: Общая структура”. Название – SCP4, отражающее историю суперкомпиляции, было предложено В. Ф. Турчиным.

 

Abstracts file: thesis_nemytykh_tracer_SCP4.pdf