Grundkurs Compilerbau - Uwe Meyer

Grundkurs Compilerbau

Aus der Buchreihe »Informatik verstehen«

(Autor)

Buch | Softcover
429 Seiten
2021 | 1. Auflage
Rheinwerk (Verlag)
978-3-8362-7733-4 (ISBN)
29,90 inkl. MwSt
  • Lexikalische, syntaktische, semantische Analyse
  • Assemblercode generieren und optimieren
  • Ideal zum Selbststudium und als Vorlesungsbegleiter

Der Compilerbau ist eine der ältesten Disziplinen der Informatik, und ohne Compiler gäbe es keine Programmiersprachen, Frameworks oder Anwendungen. In diesem Fachbuch lernen Sie, wie Compiler funktionieren, und verstehen das Fundament der Programmiersprachen.

Prof. Uwe Meyer bereitet Ihnen dazu die Grundlagen und die Funktionsweise des Compilerbaus modern und zeitgemäß auf und führt Sie 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.

Der verständliche Grundkurs

Compilerbau für die Praxis
Grau ist alle Theorie – in diesem Fachbuch lernen Sie praktisch, wie ein Compiler arbeitet. Sie erstellen einen eigenen Compiler und bauen so Schritt für Schritt grundlegendes Wissen für ein erfolgreiches Informatikstudium auf. Vorausgesetzt werden lediglich Programmierkenntnisse!

Lexer, Parser, semantische Analyse, Codegenerierung, Optimierung
Alle Phasen des Compilerbaus werden detailliert beschrieben. Prof. Meyer führt Sie in die notwendige Theorie der Automaten und formalen Sprachen ein und erklärt, wie der Compiler einen Quelltext analysiert, die Semantik prüft und schließlich den Code generiert und optimiert.

Mit Übungen fürs Selbststudium
Ihren Lernerfolg können Sie mit Übungen und Codebeispielen zu allen Kapiteln überprüfen. Fachbegriffe werden verständlich erklärt und in den Forschungskontext eingeordnet.

Aus dem Inhalt:
Sprache und Compiler
Konzepte und Paradigmen von Programmiersprachen
Lexikalische Analyse
Syntaxanalyse
Semantische Analyse
Variablenallokation
Code generieren
Code optimieren
Ausblick und Forschungsfragen

Professor Uwe Meyer leitet das Institut für Programmiersprachen und ihrer Anwendung an der Technischen Hochschule Mittelhessen in Gießen. Er gibt dort u.a. Veranstaltungen zum Compilerbau und verteilte Systeme. In der Lehre ist ihm die enge Verbindung von Praxis und Theorie besonders wichtig. Sein Forschungsschwerpunkt ist die Anwendungen des Compilerbaus für reversible Sprachen.



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 ... 227


5.1 ... Einleitung ... 227

5.2 ... Attributierte Grammatiken ... 229

5.3 ... Erzeugung des AST für SPL ... 237

5.4 ... Zusammenfassung ... 252

5.5 ... Übungen ... 253



6. Semantische Analyse ... 255


6.1 ... Einleitung ... 255

6.2 ... Namensanalyse ... 257

6.3 ... Typanalyse ... 284

6.4 ... Semantische Analyse komplett ... 296

6.5 ... Vorgehen ... 297

6.6 ... Zusammenfassung ... 298

6.7 ... Übungen ... 300



7. Variablenallokation ... 303


7.1 ... Einleitung ... 303

7.2 ... Aktivierungsrahmen ... 305

7.3 ... Umsetzung im SPL-Compiler ... 320

7.4 ... Dynamische Speicherverwaltung ... 322

7.5 ... Erweiterungen für andere Sprachen ... 328

7.6 ... Zusammenfassung ... 333

7.7 ... Übungen ... 334



8. Codegenerierung ... 337


8.1 ... Einleitung ... 337

8.2 ... Ziel-Hardware ... 338

8.3 ... ECO32 ... 339

8.4 ... Codemuster ... 346

8.5 ... Umsetzung im SPL-Compiler ... 365

8.6 ... Zusammenfassung ... 366

8.7 ... Übungen ... 368



9. Optimierung ... 371


9.1 ... Einleitung ... 371

9.2 ... Grundlagen für die Optimierung ... 374

9.3 ... Kontrollflussanalyse ... 376

9.4 ... Datenflussanalyse ... 385

9.5 ... Lokale und globale Optimierungen ... 391

9.6 ... Schleifenoptimierungen ... 394

9.7 ... Sonstige Optimierungen ... 398

9.8 ... Zusammenfassung ... 407

9.9 ... Übungen ... 409



10. Ausblick ... 411


10.1 ... AOT und JIT ... 411

10.2 ... Forschungsfelder im Compilerbau ... 412



Literaturverzeichnis ... 415


Index ... 423

Erscheinungsdatum
Reihe/Serie Informatik verstehen
Rheinwerk Computing
Verlagsort Bonn
Sprache deutsch
Maße 172 x 230 mm
Einbandart kartoniert
Themenwelt Informatik Programmiersprachen / -werkzeuge Assembler
Informatik Theorie / Studium Compilerbau
Informatik Theorie / Studium Theoretische Informatik
Schlagworte Assembler-Code • Automat • Bücher Lernen Kurse Grundlagen Seminare Tutorials Workshops Training • Bytecode • Fachinformatiker • Formale-Sprache • Grammatik • Parser Lexer Semantik • Programmierung • Pumping Lemma • Reguläre Ausdrücke • Semantische Lexikalische Syntaktische Analyse • Software-Entwicklung • YACC BISON ANTLR
ISBN-10 3-8362-7733-6 / 3836277336
ISBN-13 978-3-8362-7733-4 / 9783836277334
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Wie bewerten Sie den Artikel?
Bitte geben Sie Ihre Bewertung ein:
Bitte geben Sie Daten ein:
Mehr entdecken
aus dem Bereich