Am Mittwoch, den 20.06.2007, 13:38 +0200 schrieb Frank Gerlach:
Hallo,
Ich habe mich auf wikipedia und gnu.org schon ein bischen eingelesen,
Wikipedia fand ich ganz gut um sich mal einen Überblick zu verschaffen, Compilerbau ist allerdings ein nichttriviales Thema der Informatik.
"Creating a gcc compiler for your own instruction set"
Als Standardwerk gibt es das sogenannte "Drachenbuch" von Aho, Seti, Lahm, Ullmann. Addison Wesley - Pearson. Neue Auflage Herbst 2006, ISBN-13: 978-0-321-49169-5. Der Buchhandel neben Karstadt brauchte 3 Tage zur Lieferung und wollte 83 Euronen von mir. Ältere Ausgeben gibt es in de Uni-Bibliothek bzw. HTW-Bibliothek.
Bei Amazon mal "Compilerconstruction" eingeben, liefert einiges zu Tage. Vieles ist dann schon schwere Kost. Z.B. ist http://www.amazon.de/Engineering-Compiler-Keith-D-Cooper/dp/1558606998/ref=p... kein Einsteigerbuch. Und ttp://www.amazon.de/Optimizing-Compilers-Architectures-Dependence-based-Approach/dp/1558602860/ref=sr_1_19/303-4946535-3829800?ie=UTF8&s=books-intl-de&qid=1182349322&sr=8-19 ebenfalls nicht.
"gcc internals"
Beschrieb im 3er-gcc vorallem die RTL-Language. Jetzt ist vor allem "gimple" ein Dialekt einer Zwischensprachen dazugekommen. Hier geht es vor allem um maschinen- und Sprachunabhängige Optimierungen.
Eine 3.5-Entwicklerversion hatte es mit Optimierungen mal zu gut gemeint und Zählvariablen in Schleifen "wegoptimiert". Fazit: suboptimal ;-)
Für dich ist warscheinlich das Schlagwort "backend" relevant, allerdings musst du genau hinsehe, der aktuelle gcc hat mit einem 3-er gcc bis auf den Namen nichts mehr gemein. Das ist _komplett_ neuer Code.
Gibt es ein solches Buch, oder muss ich mich mit Richard Stallmanns Dokumentation auskommen ?
Vielleicht das: http://gcc.gnu.org/projects/documentation.html#RTL
Jan