Hallo.
Ich arbeite viel mit Microcontroller.
Nun habe ich hier einen neuen Typen, welcher mir viel besser gefällt.
Leider ist der Quellcodesyntax etwas anders zu dem alten und daher hatte ich die Idee, dass ich mir ein Programm schreibe, welches den Code von alt in neu wandelt.
So ein Art "suchen+ersetzen".
Beispiel:
Alter Compiler IF ... THEN ... ENDIF
Neuer Compiler: IFT ... ENDI oder IFF ... ENDI
Alter: define var
Neuer: $define $var
Alter: x = y
Neuer: $x == $y
Jemand Tipps oder Dokus oder Beispiele?
Danke!
Du könntest einen Baum erstellen, der den Code des kompletten Programms abbildet und danach aus dem erzeugten Baum den Programmcode in der anderen Sprache erzeugen.
Hallo Krumnix,
wenn du es "perfekt" machen willst, dann geht das via Transpiler -- so wie es pinki auch vorgeschlagen hat.
Falls der Aufbau des Programms gleich ist und nur die Syntax andere Schlüsselwörter verwendet, so kann ein Suchen & Ersetzen (ev. mittels Regex.Replace und MatchEvaluator) auch reichen. Das ist weniger aufwändig als obiger Vorschlag.
Prüfe aber auf jeden Fall ob die Funktionsumfänge zwischen beiden µC gleich sind, sonst wird kaum ein anderer Weg als manuelles Übersetzen bleiben.
mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.
"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
Danke für die ersten Tipps.
Eine händische Nacharbeit muss sicher gemacht werden.
Aber wenn ich mir bei >1000 Codezeichen 80% ersparen kann und weiß, welche Stellen nicht so einfach wandelbar sind, habe ich schon viel gewonnen.
Bei 60 unterschiedlichen Programmen eine kleine Erleichterung 😃