Ein Angebot für € 10,20 €
- Broschiertes Buch
- Merkliste
- Auf die Merkliste
- Bewerten Bewerten
- Teilen
- Produkt teilen
- Produkterinnerung
- Produkterinnerung
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 CompilerKonzepte und Paradigmen…mehr
Andere Kunden interessierten sich auch für
- Sebastian BrabetzPenetration Testing mit Metasploit9,99 €
- Christopher HadnagySocial Engineering enttarnt16,99 €
- Avinash K. DixitSpieltheorie für Einsteiger19,95 €
- Michael KoflerHacking & Security49,90 €
- David OmandHow Spies Think9,49 €
- Stephen OuallineBare Metal C34,99 €
- Belal GhazouanLeben im Schatten31,99 €
-
-
-
-
-
-
-
-
-
-
-
-
-
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 CompilerKonzepte und Paradigmen von ProgrammiersprachenLexikalische AnalyseSyntaxanalyseSemantische AnalyseVariablenallokationCode generierenCode optimierenAusblick und Forschungsfragen
Aus dem Inhalt:
Sprache und CompilerKonzepte und Paradigmen von ProgrammiersprachenLexikalische AnalyseSyntaxanalyseSemantische AnalyseVariablenallokationCode generierenCode optimierenAusblick und Forschungsfragen
Produktdetails
- Produktdetails
- Rheinwerk Computing
- Verlag: Rheinwerk Computing / Rheinwerk Verlag
- Artikelnr. des Verlages: 459/07733
- Seitenzahl: 429
- Erscheinungstermin: Juni 2021
- Deutsch
- Abmessung: 228mm x 169mm x 25mm
- Gewicht: 791g
- ISBN-13: 9783836277334
- ISBN-10: 3836277336
- Artikelnr.: 61091603
- Herstellerkennzeichnung
- Rheinwerk Publishing Inc.
- 2 Heritage Drive
- 11201 Quincy, MA, US
- Info@rheinwerk-verlag.de
- www.rheinwerk-verlag.de
- Rheinwerk Computing
- Verlag: Rheinwerk Computing / Rheinwerk Verlag
- Artikelnr. des Verlages: 459/07733
- Seitenzahl: 429
- Erscheinungstermin: Juni 2021
- Deutsch
- Abmessung: 228mm x 169mm x 25mm
- Gewicht: 791g
- ISBN-13: 9783836277334
- ISBN-10: 3836277336
- Artikelnr.: 61091603
- Herstellerkennzeichnung
- Rheinwerk Publishing Inc.
- 2 Heritage Drive
- 11201 Quincy, MA, US
- Info@rheinwerk-verlag.de
- www.rheinwerk-verlag.de
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
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
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
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