Groovy Python Converter?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
frentmeister
User
Beiträge: 13
Registriert: Freitag 3. August 2018, 12:46

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?"
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Ziemlich sicher nicht. Ich würde einfach nur neue oder fehlschlagende Tests in Python umschreiben.
Benutzeravatar
__blackjack__
User
Beiträge: 13236
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@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.
Please call it what it is: copyright infringement, not piracy. Piracy takes place in international waters, and involves one or more of theft, murder, rape and kidnapping. Making an unauthorized copy of a piece of software is not piracy, it is an infringement of a government-granted monopoly.
nezzcarth
User
Beiträge: 1646
Registriert: Samstag 16. April 2011, 12:47

__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.
Benutzeravatar
__blackjack__
User
Beiträge: 13236
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

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.
Please call it what it is: copyright infringement, not piracy. Piracy takes place in international waters, and involves one or more of theft, murder, rape and kidnapping. Making an unauthorized copy of a piece of software is not piracy, it is an infringement of a government-granted monopoly.
Antworten