2 Stimmen

Gibt es Textmanipulationswerkzeuge, die auf Quellcode spezialisiert sind?

Gibt es freie und offene Textmanipulations-Tools für die Kommandozeile, die auf Quellcode spezialisiert sind? Ich würde mich besonders über eine Funktion freuen, mit der ich einfach automatisch einen neuen Methodenstumpf hinzufügen oder Methoden nach Namen entfernen kann.

Eine automatische Generierung von Gettern/Settern wäre ebenfalls wünschenswert.

Gibt es eine Website mit guten SED/Perl-Beispielen, um dies zu tun, kann das auch die Lösung sein.

Es wäre schön, wenn die Lösung für mehrere Sprachen funktionieren würde oder leicht für andere Sprachen angepasst werden kann.

Vielen Dank im Voraus.

0 Stimmen

Anmerkung: Doctor Who hat "frei und offen" am 11. Juli hinzugefügt, also lange nach meiner Antwort.

0voto

Ira Baxter Punkte 91118

Um Quellcode zuverlässig ändern zu können, müssen Sie in der Lage sein, ihn auf die gleiche Weise zu analysieren wie ein Compiler, mit Hilfe der Standard-Scoping-Regeln für diese Sprache auf Spracheinheiten zu verweisen und Ihre Änderungen am Code anzugeben. Werkzeuge, die dies tun, heißen Programmumstellung Motoren. Die Bereitstellung dieser ganzen Compiler-Maschinerie, die in die Front-Ends von Produktionssprachen integriert ist, ist mit erheblichem Aufwand verbunden, so dass es nicht viele dieser Tools gibt.

Siehe unser DMS-Software-Reengineering-Werkzeugsatz . Dies ist eine Programmumwandlungsmaschine, die mehrere Sprachen (C, C++, C#, Java, PHP, JavaScript, ...) beherrscht und diese Art von Arbeit ermöglicht. Eine nette Eigenschaft einer Quelle-zu-Quelle-Transformationsmaschine wie DMS ist die Fähigkeit um Transformationen in der (Oberflächen-)Syntax der Sprache(n) zu schreiben, die Sie manipulieren wollen im Gegensatz zu traditionellen, reinen Compiler-ähnlichen Werkzeugen, die darauf bestehen, dass man einfach auf einen abstrakten Syntaxbaum mit viel prozeduralem Code einhackt.

Es ist nicht so einfach wie "oh, ändere das einfach". Aber es ist zuverlässig.

EDIT 6/23/2011: OP sagte, es müsse mit Java und PHP funktionieren. DMS tut es.

0 Stimmen

Zum Begriff "Programmtransformation" findet man im Internet nicht viel. Außerdem suche ich ein konkretes Tool, das am besten gpl sein sollte und im GNU/Linux-Cli läuft.

0 Stimmen

@Doctor Who: Seit Ende der 1970er Jahre wird an der Umgestaltung von Programmen geforscht. Bei Google in Scholar finden Sie tonnenweise Fachartikel. Der Wikipedia-Link, den ich angegeben habe, listet praktisch alle "realen" (Sie nennen das "konkret") Tools auf, die tatsächlich in anderer als in Demoform existieren. Einige von ihnen sind "Open Source". Die meisten von ihnen haben die richtigen Konzepte, aber was zählt, ist, dass sie produktionsreife Sprach-Frontends haben. DMS ist hier IMHO (aufgrund von 15 Jahren Schweiß) führend, aber es ist nicht "Open Source". YMMV. (DMS läuft unter Wine).

0 Stimmen

Ich habe noch einmal im Wiki-Artikel nachgesehen und den Teil gefunden, in dem die Werkzeuge erwähnt werden. Ich danke Ihnen vielmals.

0voto

Robert K. Bell Punkte 8055

Es gibt auch ein Werkzeug namens Comby ( https://comby.dev/ ), das sich selbst als "ein Werkzeug zum Suchen und Ändern der Codestruktur" bezeichnet.

Von diesen Blogbeitrag, in dem das Wesentliche von Comby erläutert wird, Hier ist ein Screenshot eines Anwendungsbeispiels in der comby.live Spielplatz:

enter image description here

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X