Суперкомпилятор MSCP-A, версия январь 2020. Чтобы запустить суперкомпилятор MSCP-A, необходимо иметь на компьютере компилятор Рефала, который можно скачать по следующей ссылке: http://www.botik.ru/pub/local/scp/refal5/ Файлы Refc.exe, Reftr.exe, Refgo.exe, xmlparse.dll, xmltok.dll должны находиться в той же папке, что и MSCP-A, либо исполняемыей файлы Рефала должны быть доступны через системный файл путей к исполняемым файлам. Для сборки исполняемых модулей из исходных текстов необходимо запустить файл MSCPcompile.bat (без аргументов). После этого MSCP-A запускается посредством запуска batch-файла MSCPdo.bat с двумя дополнительными аргументами. Первый -- имя рефал-программы, которая подается на вход суперкомпилятору (можно без расширения .ref). Второй (опциональный) --- имя файла с результатами суперкомпиляции. Если при запуске нет второго аргумента, а первый аргумент есть [file].ref, то будет порождена программа с именем rsd_[file].ref. Если файл, соответствующий первому аргументу, в папке запуска MSCP не обнаружен, суперкомпилятор проверит его наличие в дочерней папке tests и если файл обнаружится там, запишет результат туда же, если пользователь явно не указал путь к файлу-результату суперкомпиляции. Если отсутствуют оба аргумента, по умолчанию суперкомпилятор обработает файл test.ref и поместит результат этой обработки в файл rsd_test.ref. Если файл test.ref отсутствует в подпапке tests суперкомпилятора, запуск MSCP без аргументов экстренно завершится с ошибкой. Подпапки mscplog, tests и mscptest являются служебными и не должны удаляться! Примеры запуска: > mscpdo.bat test.ref a --- осуществляется суперкомпиляция файла test.ref из текущей папки либо подпапки \tests, результат помещается в файл a.ref той же папки суперкомпилятора, что и исходный файл. > mscpdo.bat test_fib --- осуществляется суперкомпиляция файла test_fib.ref, результат помещается в файл rsd_test_fib.ref. Если файл test_fib.ref в текущей папке отсутствует, но присутствует в ее подпапке tests, он будет считан оттуда, и результат будет помещён туда же. Список модулей MSCP-A accessMSCP.ref --- модуль доступа к структурам суперкомпилятора. analyzeFunDef.ref --- модуль предварительного анализа свойств входных программ. Unfold_SCP.ref --- главный модуль суперкомпилятора. basics.ref --- модуль арифметических функций и функций над множествами. Также содержит общую функцию подстановки и общие функции работы с термами. Stack.ref --- модуль работы со стеком. Drive.ref --- модуль алгоритма прогонки. Generalize.ref --- модуль алгоритмов обобщения и вложения. WordEquations.ref --- базовый модуль алгоритмов преобразования уравнений в словах. WordEqsCases.ref --- модуль развёртки уравнений в словах. DiofEqs.ref --- модуль решения диофантовых уравнений. residual.ref --- модуль преобразования дерева вычислений программы в определения функций.