Seite 1 von 1

Groovy Python Converter?

Verfasst: Samstag 29. Februar 2020, 11:07
von frentmeister
Guten Morgen!

In einem Projekt von mir habe ich mehrere tausend Groovy Testfälle. Da wir aber auch hinsichtlich Python Request und Test eines Api Gateways viele der Testfälle entsprechend umbauen müssen, die eigentliche Frage "Gibt es einen Converter der Groovy Testscripts in Python umwandeln kann?"

Re: Groovy Python Converter?

Verfasst: Samstag 29. Februar 2020, 11:31
von __deets__
Ziemlich sicher nicht. Ich würde einfach nur neue oder fehlschlagende Tests in Python umschreiben.

Re: Groovy Python Converter?

Verfasst: Samstag 29. Februar 2020, 11:51
von __blackjack__
@frentmeister: Weiss ich nicht, halte ich aber für nicht sehr wahrscheinlich, denn neben abbilden der Syntax von der einen auf die andere Sprache müsste man ja auch mindestens mal Teile der Laufzeitbibliothek und Verhalten der Grunddatentypen irgendwie übersetzen. Zusätzlich zu Bibliotheken die euer Code verwendet, und das können ja auch beliebige in der JVM nutzbare Bibliotheken sein, die in beliebigen Programmiersprachen geschrieben sind, welche die JVM als Zielplattform haben.

Neben dem Vorschlag von __deets__ könnte man auch überlegen wie lange man eine Übergangsphase haben kann/möchte und sich ausrechnen wie viele Testfälle pro Woche oder Monat man portieren müsste. Wenn das realistisch erscheint könnte man das dann tun.

Was ich persönlich vielleicht noch ins Auge fassen würde ist selbst mal zu schauen ob man eine Übersetzung von möglichst vielen Fällen mindestens halbautomatisch erledigen kann. In Groovy kann man sich ja anscheinend beim compilieren einhängen und den AST verändern. An der Stelle könnte man vielleicht auch versuchen Python-Quelltext daraus zu generieren.

Alternativ könnte man schauen ob man in Python leicht einen Parser für Groovy, oder zumindest eine Untermenge davon, schreiben kann, um damit Daten und relevante Codestruktur aus den Groovy-Quelltexten zu ziehen und äquivalenten Python-Quelltext zu generieren.

Re: Groovy Python Converter?

Verfasst: Samstag 29. Februar 2020, 12:11
von nezzcarth
__blackjack__ hat geschrieben: Samstag 29. Februar 2020, 11:51 Alternativ könnte man schauen ob man in Python leicht einen Parser für Groovy, oder zumindest eine Untermenge davon, schreiben kann, um damit Daten und relevante Codestruktur aus den Groovy-Quelltexten zu ziehen und äquivalenten Python-Quelltext zu generieren.
Groovy verwendet intern ANTLR, vielleicht kann man sich das zunutze machen (z.B. eine eventuell vorliegende Grammatik) für einen Konverter.

Edit: Zitat repariert.

Re: Groovy Python Converter?

Verfasst: Samstag 29. Februar 2020, 15:34
von __blackjack__
Das wäre in der Tat interessant weil ANTLR auch Python-Code generieren kann. Also für einen Parser mit dem man dann Groovy-Code parsen kann.