mekakic
2008-07-29, 14:28:45
Hallo,
ich stehe aktuell vor einem Problem, daß ich für die Eingabesprachen A und B eben eine Art Compiler bauen muß, der die Worte und Grammatik für die jeweilige Sprache in die Ausgabesprachen C, D, oder E überführt. Da es sich alles um Maschinensprachen/Kommandos handelt, ist die Grammatik vergleichsweise einfach bzw. lange nicht so komplex wie in Programmiersprachen oder menschlichen Sprachen, der Hauptteil dabei ist die Umsetzung eines Wortes in eine entsprechend andere Sprache.
Wenn ich jetzt für jedes Kommando eine Klasse habe, wird das Riesengroß und schlecht anzupassen und zu warten. Ich habe da überlegt, ob man mit Techniken aus dem Compilerbau da nicht weiterkommt. Eben diese Übergänge zwischen den Sprachen vergleichsweise abstrakt zu beschreiben und nicht stumpf für jede Sprachkombination Eingangs-Wort in ein Übersetztes-Wort zu überführen. Eben mit dem Ziel auch in Zukunft die Sprachen zu erweitern und weitere Sprachen vergleichsweise einfach dem System hinzuzuführen.
Jetzt also die Preisfrage: wie baue ich mir bloß einen abstrakten Compiler für beliebige Sprachen?
ich stehe aktuell vor einem Problem, daß ich für die Eingabesprachen A und B eben eine Art Compiler bauen muß, der die Worte und Grammatik für die jeweilige Sprache in die Ausgabesprachen C, D, oder E überführt. Da es sich alles um Maschinensprachen/Kommandos handelt, ist die Grammatik vergleichsweise einfach bzw. lange nicht so komplex wie in Programmiersprachen oder menschlichen Sprachen, der Hauptteil dabei ist die Umsetzung eines Wortes in eine entsprechend andere Sprache.
Wenn ich jetzt für jedes Kommando eine Klasse habe, wird das Riesengroß und schlecht anzupassen und zu warten. Ich habe da überlegt, ob man mit Techniken aus dem Compilerbau da nicht weiterkommt. Eben diese Übergänge zwischen den Sprachen vergleichsweise abstrakt zu beschreiben und nicht stumpf für jede Sprachkombination Eingangs-Wort in ein Übersetztes-Wort zu überführen. Eben mit dem Ziel auch in Zukunft die Sprachen zu erweitern und weitere Sprachen vergleichsweise einfach dem System hinzuzuführen.
Jetzt also die Preisfrage: wie baue ich mir bloß einen abstrakten Compiler für beliebige Sprachen?