This is an introduction to compiler design and covers topics such as context-free grammars, fine state machines, and syntax-directed translation.
Alfred Aho Knihy






Mathematical preliminaries; An introduction to compiling; Elements of language theory; Theory of translation; General parsing methods; One-pass no backtrack parsing; Limited backtrack parsing algorithms
A Systolic Array Optimizing Compiler
- 228 stránek
- 8 hodin čtení
The book details the development of compiler technology for the Warp machine, a high-performance systolic array capable of executing 10 million floating-point operations per second. Under H. T. Kung's guidance, Warp evolved from a prototype to a commercial product, showcasing the viability of scalable architectures for computation-intensive tasks. It highlights the challenges of creating an optimizing compiler that accommodates fine-grained parallelism and the unique VLIW instruction set of its processors. The success of Warp paved the way for the iWarp project, enhancing parallel computing capabilities.
Jeder kennt das Drachenbuch: „Principles of Compiler Design“, den Meilenstein in der Literatur zum Compilerbau. Der „neue Drache“, geschrieben von der Arbeitsgruppe Alfred V. Aho, Ravi Sethi und Jeffrey D. Ullman und übersetzt von Prof. Dr. Gerhard Barth und seinen Mitarbeitern in der Universität Stuttgart, bietet die gleichen Basis-Informationen wie der alte, befasst sich dabei aber auch mit den jüngsten Forschungen auf dem Gebiet, in Teil 2 insbesondere Kapitel zu den Themen Code-Erzeugung und -Optimierung.
Jeder kennt das Drachenbuch: „Principles of Compiler Design“ von Alfred V. Aho und Jeffrey D. Ullman, den Meilenstein in der Literatur zum Compilerbau. Der „neue Drache“, geschrieben von der Arbeitsgruppe Alfred V. Aho, Ravi Sethi und Jeffrey D. Ullman und übersetzt von Prof. Dr. Gerhard Barth und seinen Mitarbeitern, bietet die gleichen Basis-Informationen wie der alte, befaßt sich dabei aber auch mit den jüngsten Forschungen auf dem Gebiet, z. B.: - Pragmatik der Compiler-Entwicklung - syntaxgesteuerte Übersetzung, Typüberprüfung, Laufzeit-Organisation, automatische Code-Generierung und -Optimierung - eine Vielfalt im Schwierigkeitsgrad abgestufter Probleme und Übungen.
Informatik, Datenstrukturen und Konzepte der Abstraktion
- 1042 stránek
- 37 hodin čtení
Das Lehrbuch richtet sich an Leser mit Grundkenntnissen in Programmierung und behandelt zentrale Modelle und Konzepte der Informatik sowie die erforderlichen Grundlagen der diskreten Mathematik und Logik.
Języki programowania są sposobami zapisu przedstawiającymi obliczenia w sposób zrozumiały dla ludzi i dla maszyn. Świat, jaki dziś znamy, uzależniony jest od języków programowania, gdyż całe oprogramowanie działające na wszystkich komputerach zostało napisane w jakimś języku programowania. Jednak zanim możliwe będzie uruchomienie programu, musi on najpierw zostać przetłumaczony do postaci, w której komputer będzie mógł go wykonać. Tłumaczenie to odbywa się za pomocą specjalnych systemów programowych zwanych kompilatorami. II edycja klasycznej książki, znanej na całym świecie jako Dragon Book, jest poświęcona projektowaniu i implementacji kompilatorów. W dokładniejszym zrozumieniu i przyswojeniu tematu, pomagają czytelnikowi liczne, rozbudowane ćwiczenia zawarte w każdym podrozdziale. Dzięki lekturze poznasz: - Podstawowe zagadnienia związane z architekturą komputerów oraz zasady języków programowania - Omówienie analizy leksykalnej, wyrażeń regularnych, automatów skończonych i narzędzi generujących leksery - Główne metody parsingu - Podstawowe koncepcje definicji kierowanych składnią i translacji sterowanej składnią - Zasady projektowania generatora kodu - Technologie optymalizacji kodu Nowe rozdziały obejmują takie zagadnienia jak: - Środowiska wykonawcze, w tym: mechanizmy odśmiecania pamięci i zarządzanie stosem - Optymalizacje na poziomie instrukcji - Wykrywanie i wykorzystywanie równoległości w większej skali - Analizy międzyproceduralne Zasady i techniki projektowania kompilatorów mają zastosowanie w tak wielu dziedzinach, że na pewno każdy informatyk spotka się z nimi w swojej pracy wielokrotnie. Studiowanie pisania kompilatorów oznacza poznawanie takich zagadnień jak: języki programowania, architektura komputerów, teoria języka, algorytmy i inżynieria oprogramowania.