Compilerbau mit Java

Werbung
1
Copyright 1994, 1995, 1998 by Axel T. Schreiner. All Rights Reserved.
Compilerbau mit Java
Axel-Tobias Schreiner
Fachbereich Mathematik-Informatik
Universität Osnabrück
Dieser Band enthält Kopien der OH-Folien, die in der Vorlesung verwendet wurden. Diese
Information steht außerdem im World-Wide Web online zur Verfügung; sie ist in sich und mit
einer Kopie der Dokumentation zum Java Development Kit (JDK) über Hypertext-Links
verbunden. Die Beispielprogramme werden maschinell aus diesem Text extrahiert.
Zur Betrachtung auf anderen Systemen gibt es den Text auch als Folge von PDF-Dokumenten.
Mit dem Acrobat Reader von Adobe kann der Text damit auf Windows-Systemen ausgedruckt
werden.
Grundkenntnisse in den Bereichen Java und objekt-orientierte Programmierung werden
vorausgesetzt. Der Band stellt kein komplettes Manuskript der Vorlesung dar. Zum
Selbststudium müßten zusätzlich Bücher über konkrete Programmiersprachen und
Compilerbau konsultiert werden; zu Java könnte mein Skript von 1997 oder 1998
herangezogen werden.
Inhalt
1
2
3
4
5
6
Einführung
Arithmetische Ausdrücke — expr
Ein einfacher Compiler — simple
Wiederverwendung und Compiler — mixed und ck
Einfache Unterprogramme
Blockstruktur
5
13
125
183
239
257
2
Diese Folien befinden sich auf dem WWW-Server der Universität
archiviert nur für
die Universität zugänglich auf dem FTP-Server und gedruckt in der Lehrsammlung. Sie
sollten mit einem Web-Browser betrachtet werden.
<http://www.uni-osnabrueck.de/vorlesungen/informatik/compilerbau98>,
Material zu Java und Java Compiler Tools können nur von der Universität direkt
per FTP abgeholt werden . Die Dokumentation zum JDK befindet sich auch ausgepackt auf
dem WWW-Server ; sie sollte mit einem Web-Browser betrachtet werden. Im Internet gibt
es eine Liste von frei verfügbaren Compiler-Tools <http://www.idiom.com/free-compilers>.
Die folgenden Bücher sind nützlich. Soweit vorhanden, befinden sie sich in der
Lehrsammlung.
Compilerbau
Aho/Sethi/Ullman
Appel
Holub
Schreiner/Friedman jr.
Wirth
3-89319-150-X, -151-8
0-521-58654-2
0-130255252-5
3-446-14359-9
0-201-40353-6
Compilerbau
Modern Compiler Construction with Java
Compiler Design in C
Compiler bauen mit UNIX
Compiler Construction
0-574-21945-5
Programming Language Landscape
Sammet
??
Wexelblatt (ed)
Bergin et al. (ed)
0-12-745040-8
0-201-63451-1
Programming Languages: History and
Fundamentals
History of Programming Languages
History of Programming Languages II
Sprachkonzepte
Marcotty/Ledgard
Geschichte
Java
Arnold/Gosling
Flanagan
Gosling/Joy/Steele
0-201-31006-6
1-56592-262-X
0-201-63451-1
The Java Programming Language (2nd Ed.)
Java in a Nutshell (2nd Edition)
The Java Language Specification
3
Es gibt beliebig viele Programmiersprachen und Bücher oder Artikel darüber. Ich finde zum
Beispiel die folgenden Publikationen sehr wichtig:
Reference Manual for the Ada Programming Language
Springer, 1983.
Sehr modernes, sehr abschreckendes Beispiel.
Clocksin/Mellish
Programming in Prolog
Springer, 1981, 1984.
Ein Exponent der Künstlichen Intelligenz.
Cox/Novobilski
Object-Oriented Programming
Addison-Wesley 1991, ISBN 0-201-54834-8.
Viel Werbung, machte Objective C nicht populär.
Dijkstra
Guarded Commands, nondeterminancy, and formal derivation
CACM 8, 1975.
Vorstufe zu seiner ‘‘Discipline of Programming’’.
Hoare
Hints on Programming Language Design
Stanford Report STAN-CS-73-403, 1973.
in Essays in Computing Science
Prentice-Hall 1989, ISBN 0-13-284027-8.
Pflichtlektüre für Designer.
Jensen/Wirth
Pascal User Manual and Report
Springer, 1975; Acta Informatica 1, 1971.
Kernighan/Ritchie
The C Programming Language
Prentice-Hall, 1977, 1988; Hanser 1983, 1990.
McCarthy et al.
Lisp 1.5 Programmer’s Manual
MIT Press, 1962.
Urahn der AI Bewegung.
Naur (ed)
Revised report on the Algorithmic Language Algol 60
u.a. CACM 1, 1963.
Leicht und elegant, führt BNF ein.
Ellis/Stroustrup
The annotated C++ Reference Manual
Addison-Wesley 1990, ISBN 0-201-51459-1 und später.
Dick und trotzdem keineswegs definitiv.
v. Wijngaarden (ed)
Revised report on the algorithmic language Algol 68
u.a. Acta Informatica 5, 1975.
Schwierig und kompliziert, mit zweistufigen Grammatiken.
Herunterladen