Grundkurs Compilerbau - Aus der Buchreihe »Informatik verstehen«. Ideal zum Selbststudium und für die Uni-Vorlesung - Ausgabe 2024

Taschenbuch
von Uwe Meyer
29,90 €
inkl. MwSt. zzgl. Versandkosten

Reduzierte Artikel in dieser Kategorie

Als Mängelexemplar1
3,99 € 29,70 €1

Produktdetails  
Verlag Rheinwerk Verlag
Auflage 2. Auflage, 01.08.2024
Seiten 431
Format 17,2 x 2,3 x 23,1 cm
Großformatiges Paperback. Klappenbroschur
Gewicht 799 g
ISBN-10 3836296713
ISBN-13 9783836296717
Bestell-Nr 83629671A

Produktbeschreibung  

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.



Aus dem Inhalt:



  • Sprache und Compiler

  • Konzepte und Paradigmen von Programmiersprachen

  • Lexikalische Analyse

  • Syntaxanalyse

  • Semantische Analyse

  • Variablenallokation

  • Code generieren

  • Code optimieren

  • Ausblick und Forschungsfragen


Inhalt:



  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

Autorenporträt  
Mehr Angebote zum Thema