
Grundkurs Compilerbau
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
Ein Compiler sorgt dafür, dass der Quellcode eines Programms so übertragen wird, dass ein Computer in der Lage ist, die Anweisungen zu verstehen und auszuführen. Der Compilerbau ist eine der ältesten Disziplinen der Informatik, ohne Compiler gäbe es keine Programmiersprachen, Frameworks oder Anwendungen. In diesem Fachbuch aus der Reihe »Informatik verstehen« lernen Sie, wie Compiler funktionieren, und machen sich mit dem Fundament der Programmiersprachen vertraut.
Prof. Uwe Meyer forscht zu Anwendungen des Compilerbaus. In seinem Buch bereitet er Ihnen die Grundlagen und die Funktionsweise des Compilerbaus modern und zeitgemäß auf. Mit großem Sachverstand führt er Sie an den Bau eines eigenen Compilers heran. Dabei vermittelt er Ihnen alle Grundlagen, von den Begriffsdefinitionen, Paradigmen und Konzepten der Programmiersprachen bis hin zur Generierung von Assemblercode und seiner Optimierung. Übungen und Codebeispiele helfen Ihnen dabei, das Gelernte schnell in die Praxis umzusetzen und Ihr Wissen zu vertiefen. Durch seine Tätigkeit an einer Technischen Hochschule ist der Autor bestens mit den Lernherausforderungen von Studierenden vertraut - dieses Buch dient Ihnen daher auch als hilfreicher Vorlesungsbegleiter!
- Lexikalische, syntaktische, semantische Analyse
- Assemblercode generieren und optimieren
- Ideal zum Selbststudium und für die Vorlesung
Aus dem Inhalt:
- Sprache und Compiler
- Konzepte und Paradigmen von Programmiersprachen
- Lexikalische Analyse
- Syntaxanalyse
- Semantische Analyse
- Variablenallokation
- Code generieren
- Code optimieren
- Ausblick und Forschungsfragen
More details
Other editions
Additional editions

Person
Content
Materialien zum Buch ... 12
Vorwort ... 13
1. Einleitung ... 15
1.1 ... Compiler und Sprache ... 15
1.2 ... Aufbau dieses Buches ... 19
2. Grundbegriffe der Programmiersprachen ... 29
2.1 ... Paradigmen ... 30
2.2 ... Konzepte der Programmiersprachen ... 37
2.3 ... Die Beispielsprache SPL ... 63
2.4 ... Zusammenfassung ... 76
2.5 ... Übungsaufgaben ... 77
3. Lexikalische Analyse ... 79
3.1 ... Einleitung ... 79
3.2 ... Lexikalische Elemente ... 80
3.3 ... Reguläre Ausdrücke ... 82
3.4 ... Endliche Automaten ... 90
3.5 ... Scanner-Generatoren ... 114
3.6 ... Zusammenfassung ... 129
3.7 ... Übungen ... 129
4. Syntaxanalyse ... 133
4.1 ... Einleitung ... 133
4.2 ... Grammatiken ... 135
4.3 ... Pumping-Lemma für reguläre Sprachen ... 143
4.4 ... Backus-Naur-Form ... 146
4.5 ... Ableitungsbäume ... 148
4.6 ... Top-Down-Parser ... 153
4.7 ... Bottom-Up-Parser ... 176
4.8 ... Fehlerbehandlung ... 200
4.9 ... Parsergeneratoren ... 201
4.10 ... Zusammenfassung ... 220
4.11 ... Übungen ... 222
5. Abstrakter Syntaxbaum ... 225
5.1 ... Einleitung ... 225
5.2 ... Attributierte Grammatiken ... 227
5.3 ... Erzeugung des AST für SPL ... 235
5.4 ... Zusammenfassung ... 250
5.5 ... Übungen ... 251
6. Semantische Analyse ... 253
6.1 ... Einleitung ... 253
6.2 ... Namensanalyse ... 255
6.3 ... Typanalyse ... 283
6.4 ... Semantische Analyse komplett ... 295
6.5 ... Vorgehen ... 296
6.6 ... Zusammenfassung ... 297
6.7 ... Übungen ... 299
7. Variablenallokation ... 301
7.1 ... Einleitung ... 301
7.2 ... Aktivierungsrahmen ... 303
7.3 ... Umsetzung im SPL-Compiler ... 318
7.4 ... Dynamische Speicherverwaltung ... 320
7.5 ... Erweiterungen für andere Sprachen ... 326
7.6 ... Zusammenfassung ... 331
7.7 ... Übungen ... 332
8. Codegenerierung ... 335
8.1 ... Einleitung ... 335
8.2 ... Ziel-Hardware ... 336
8.3 ... ECO32 ... 337
8.4 ... Codemuster ... 344
8.5 ... Umsetzung im SPL-Compiler ... 363
8.6 ... Zusammenfassung ... 364
8.7 ... Übungen ... 366
9. Optimierung ... 369
9.1 ... Einleitung ... 369
9.2 ... Grundlagen für die Optimierung ... 372
9.3 ... Kontrollflussanalyse ... 374
9.4 ... Datenflussanalyse ... 383
9.5 ... Lokale und globale Optimierungen ... 389
9.6 ... Schleifenoptimierungen ... 392
9.7 ... Sonstige Optimierungen ... 396
9.8 ... Static-Single-Assignment ... 405
9.9 ... Zusammenfassung ... 409
9.10 ... Übungen ... 411
10. Ausblick ... 413
10.1 ... AOT und JIT ... 413
10.2 ... Forschungsfelder im Compilerbau ... 414
Literaturverzeichnis ... 417
Index ... 425
System requirements
File format: ePUB
Copy protection: without DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Use a reader that can handle the file format ePUB, such as Adobe Digital Editions or FBReader – both free (see eBook Help).
- Tablet/Smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePUB works well for novels and non-fiction books – i.e., 'flowing' text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook does not use copy protection or Digital Rights Management
For more information, see our eBook Help page.