Compiler selber konstruieren?

Hallo Programmierer,

ich muss einen primitiven Compiler für Ada in C oder C++ schreiben, doch mir fehlen viele theoretische Grundlagen und Zeit ist knapp.

Kennt jemand ein gutes Tutorial, wo Schritt für Schritt erklärt ist, wie man für irgendeine Sprache den Compiler schreibt?

Danke!!!

Hallo Fragewurm,

ich muss einen primitiven Compiler für Ada in C oder C++
schreiben, doch mir fehlen viele theoretische Grundlagen und
Zeit ist knapp.

Kennt jemand ein gutes Tutorial, wo Schritt für Schritt
erklärt ist, wie man für irgendeine Sprache den Compiler
schreibt?

Compilerbau in 10 Minuten ???

Das Standardwerk ist immer noch:
http://www.amazon.de/exec/obidos/ASIN/3519323389/qid…

ABer Compiler erstellen benötigt zuerst einmal genaue Kentnisse der zu verarbeitenden Programmiersprache und der Sprache in welcher der COmpiler implementiert wird.
Und zu allem Übel willst du dich gleich beim ersten mal mit ADA versuchen !!

Möglicherweise hillft die YACC weiter. Dies ist ein Compiler-Compiler, welcher dir die Lexikalische und Syntaktische Analyse erzeugt und ein entsprechendes C-Source erstellt.

MfG Peter(TOO)
P.S. es gibt recht wenige Programmierer welche Compiler bauen können.

P.S. es gibt recht wenige Programmierer welche Compiler bauen
können.

Hallo Peter,

es gibt halt auch sehr wenig Bedarf, auf Anhieb fällt mir in D bloss die Fa. Keil ein mit einem 8051-C-Compiler. Ich schätze mal den deutschen Bedarf an Compilerbauern auf 2 bis 5 Arbeitsplätze. Das sollte man bei der Ausbildung schon beachten.

Hallo Fragesteller,

ist alles richtig, was Peter geschrieben hat, den Wirth finde ich so auf Anhieb nicht, aber was ich noch im Regal habe:

Compiler Construction
An Advanced Course
Bauer et al
Springer Verlag New York Heidelberg Berlin

Ist von 1975, es dürfte sich aber wenig geändert haben, bloss die Beispiele sind nicht objektorientiert. Der von Peter erwähnte YACC ist auch so alt.

Grundlegend sind natürlich auch Chomskys Arbeiten über die Klassifikation von Computersprachen.

Gruss Reinhard

Hallo Reinhard,

es gibt halt auch sehr wenig Bedarf, auf Anhieb fällt mir in D
bloss die Fa. Keil ein mit einem 8051-C-Compiler.

Keil unterstüzt aber noch ein paar CPUs mehr…

Ich schätze

mal den deutschen Bedarf an Compilerbauern auf 2 bis 5
Arbeitsplätze. Das sollte man bei der Ausbildung schon
beachten.

Einen Parser (also lexikalische und syntaktische Auswertung) benötigst du schon bei der Abarbeitung von Parametern bei einem Programmaufruf.

Dann auch noch bei Übertragungsprotokollen und hast du schon versucht das .RTF-Format auszuwerten ?
Alles Dinge welche eigentlich wie ein Compiler/Interpreter funktionieren.

MfG Peter(TOO)