2009-09-30 2 views
6

Существует ли синтаксический анализатор для Delphi, который может быть использован для преобразования кода Delphi в код Java автоматически?Преобразование кода Delphi в Java

+1

Я сильно сомневаюсь. Может быть, компилятор, который компилирует код Delphi для JVM, вместе с библиотекой, реализующей оболочку вокруг stdlib Java. – Joey

+1

Посмотрите на Remobjects Oxygene http://en.wikipedia.org/wiki/Oxygene_%28programming_language%29, последняя версия позволяет компилировать код Pascal в байт-код Java. –

+0

Ну да, но Oxygene - не совсем Delphi, и нет Delphi RTL, VCL или FireMonkey, ни любой из используемых библиотек Delphi и т. Д. Все, что выходит за рамки самых простых, не будет легко переводить.Переписывание всего кода Delphi для компиляции байт-кода Java с помощью Oxygene может быть такой же работой, как переписывание его непосредственно на Java. –

ответ

6

Я не осведомлен о таком конвертере, но имейте в виду, что такие преобразования будут только доводить вас до сих пор.

Например, есть конвертер Java в C#, который поставляется с Visual Studio. Это отличная работа, но для чего-либо, кроме самого тривиального примера, вам по-прежнему приходится много заниматься очисткой/рефакторингом. Кроме того, плохой код на исходном языке обычно будет преобразовываться в такой же плохой или, возможно, худший код на новом языке. Таким образом, код будет трудно поддерживать.

Дело в том, что бесплатного обеда нет. Даже с конвертером вам, скорее всего, придется немного портировать себя. Если это не может быть и речи (из-за времени, денег и т. Д.), Возможно, вам придется переосмыслить проект.

Прошу прощения, что я не мог указать вам на полезный инструмент (надеюсь, другие будут), но я видел эти проекты пару раз, и люди обычно удивляются работе по очистке, необходимой после преобразования.

+2

Я знаю один успешный продукт, который кто-то решил, должен быть на другом языке, поэтому они автоматически переводили его. Работала нормально, пока кто-то не захотел добавить новую функцию, и НИКТО НЕ знал ничего о том, как работает код сейчас. Они потеряли год, пока они снова написали его. – mj2008

0

перед тем, как была создана программа под названием Delphi2J, но я не смог найти ссылку для ее загрузки.

Другой способ:

  1. пытаются конвертировать Delphi код C# код с помощью Delphi2CS

  2. затем использовать VB & C# to Java Converter есть демо, я не пробовал.

3

Лучшее решение, которое я могу думать будет: захватить Java-разработчиков и сделать некоторые экстремального программирования (вы: чтение исходников, Delphi и объяснить ему, что он должен делать - он: писать все вниз в Java)

Потому что даже если вы найдете конвертер Delphi-to-Java, это может привести к повреждению исходного кода.

2

Free Pascal поддерживает компиляцию для виртуальной машины Java (JVM):

Java-bytecode target added to the Free Pascal compiler.

Новая цель была добавлена ​​Free Pascal компилятор. Теперь можно скомпилировать приложения в байт-код Java. Это означает, что эти приложения Free Pascal могут запускаться на виртуальной машине Java (JVM), чтобы она могла работать на любой платформе, поддерживающей Java.

Однако эта цель поддерживает только базовый язык Pascal и некоторые функциональные возможности системного блока.