2009-09-30 4 views
6

Esiste un parser per Delphi che può essere utilizzato per convertire automaticamente il codice Delphi in codice Java?Conversione del codice Delphi in Java

+1

Ne dubito fortemente. Forse un compilatore che compila il codice Delphi per la JVM, insieme a una libreria che implementa un wrapper attorno allo stdlib di Java. – Joey

+1

Guarda Remobjects Oxygene http://en.wikipedia.org/wiki/Oxygene_%28programming_language%29 l'ultima versione consente di compilare il codice Pascal nel bytecode Java. –

+0

Beh, sì, ma Oxygene non è del tutto Delphi, e non ci sono Delphi RTL, VCL o FireMonkey, né alcuna delle librerie Delphi usate ecc. Qualunque cosa al di là del più banale non si tradurrà facilmente.Riscrivere tutto il codice Delphi per renderlo compilabile in bytecode Java con Oxygene potrebbe essere altrettanto importante quanto scrivere direttamente su Java. –

risposta

6

Non sono a conoscenza di un simile convertitore, ma tieni presente che tali conversioni ti porteranno solo lontano.

Ad esempio c'è una conversione da Java a C# che viene fornita con Visual Studio. Fa un lavoro eccellente, ma per qualcosa che va oltre l'esempio più banale devi ancora fare molta pulizia/refactoring nella mia esperienza. Inoltre, il codice errato nella lingua originale di solito viene convertito in codice altrettanto cattivo o peggiore nella nuova lingua. Quindi il codice sarà difficile da mantenere.

Il punto è che non c'è il pranzo gratis. Molto probabilmente con un convertitore dovrai fare un po 'di porting. Se questo è fuori discussione (a causa di tempo, denaro, qualunque cosa) potresti dover ripensare al progetto.

Mi dispiace non potervi indicare uno strumento utile (speriamo che gli altri lo facciano) ma ho visto questi progetti un paio di volte e le persone sono solitamente sorprese dal lavoro di pulizia necessario dopo una conversione.

+2

Conosco un prodotto di successo che qualcuno ha deciso dovrebbe essere in un'altra lingua, quindi l'hanno tradotto automaticamente. Ha funzionato bene, fino a quando qualcuno non ha voluto aggiungere una nuova funzione e nessuno sapeva nulla su come funzionava il codice ora. Hanno perso un anno mentre lo riscrivevano di nuovo. – mj2008

0

prima che ci fosse un programma chiamato Delphi2J da convertire, ma non sono riuscito a trovare il collegamento per scaricarlo.

Un altro modo:

  1. tenta di convertire il codice Delphi di codice C# utilizzando il Delphi2CS

  2. quindi utilizzare VB & C# to Java Converter c'è demo, io non l'ho provato.

3

La soluzione migliore mi viene in mente sarebbe: prendere un Java Developer e fare un po 'di programmazione estrema (si: la lettura del codice sorgente Delphi e spiegare a lui quello che dovrebbe fare - ha: scrivere tutti giù in Java)

Perché anche se si trova un convertitore Delphi-to-Java, potrebbe produrre un codice sorgente errato.

2

Free Pascal supporta la compilazione per la Java Virtual Machine (JVM):

Java-bytecode target added to the Free Pascal compiler.

Un nuovo obiettivo è stato aggiunto alla Free Pascal compilatore. È ora possibile compilare le applicazioni in bytecode Java. Ciò significa che queste applicazioni Free Pascal possono essere eseguite in una Java Virtual Machine (JVM), in modo che possa essere eseguita su qualsiasi piattaforma con supporto Java.

Tuttavia, questo obiettivo supporta solo il linguaggio Pascal di base e alcune funzionalità dell'unità di sistema.