Трансформация "исторического" кода

Автоматизированный перенос исходного кода приложений с исчезающих языков и платформ на современные

Мы предлагаем полное решение для автоматизированной миграции исходного кода программ, написанных на устаревших, собственных или узкоспециальных языках программирования на стандартные Си/Си++ или Java. Наши конверторы генерируют хорошо читабельный и управляемый код на ANSI C/C++. Мы можем подстроить существующий конвертор для выполнения специфических требований, например, корпоративных стандартов кодирования и форматирования исходных текстов,  требований или ограничений целевой платформы и т.п.

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

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

Технические подробности

Большая часть языков программирования прошлых лет имеет достаточно простую синтаксическую структуру, похожую на структуру языков линии Паскаля. Соответственно разбор входного текста достаточно прост, а основная проблема при трансляции состоит в генерации качественного выходного кода, обеспечения его читабельности и управляемости.

С начала девяностых, команда Эксельсиор развивает среду для построения трансляторов с языков подобных Паскалю в Си/Си++, построенную на базе нашего продукта - транслятора XDS для языков Модула-2/Оберон-2. Для целей трансляции прорабатывались решения проблем сохранения блоков условной компиляции, изменения порядка байтов в слове при переходе на новую платформу, сохранения привязки комментариев к программному коду и т.п.

Накопленный опыт позволяет нам эффективно добавлять самые различные входные языки трансляции, а также выходные, например, Java или Си#.

Связаться с нами

Другие услуги