Compiler verstehen anwenden entwickeln

Aus C64-Wiki
Zur Navigation springenZur Suche springen


Compiler verstehen anwenden entwickeln
Cover/Buchdeckel
Sprache deutsch
Autor(en) Volker Sasse
Verlag Data Becker
Jahr 1984
ISBN ISBN 3-89011-061-4
Neupreis DM 49,-
Datenträger
Seitenzahl 336
letzte Auflage
Genre Programmieren
Information




Buchrückseite[Bearbeiten | Quelltext bearbeiten]

DAS STEHT DRIN:
Dieses Buch ist für alle C-64-Anwender, die schon immer wissen wollten, wie ein Computer arbeitet. Hier wird am Beispiel der Entwicklung einer eigenen Sprache gezeigt, wodurch Programme in die Lage versetzt werden, Programme aus einer Sprache in eine andere zu übersetzen.

Aus dem Inhalt:

  • Was ist ein Compiler
  • Entwicklung einer eigenen Sprache
  • Lexikalische Analyse
  • Syntaktische Analyse
  • Semantische Analyse
  • Assembler des 6502
  • Das Betriebssystem des C-64 und vieles mehr

UND GESCHRIEBEN HAT DIESES BUCH:
Volker Sasse ist Informatikstudent und Programmautor. Er hat seine Fähigkeit, komplizierte Sachverhalte leichtverständlich darzustellen, bereits bei seinem Trainingskurs zu ADA unter Beweis gestellt.

Inhaltsverzeichnis[Bearbeiten | Quelltext bearbeiten]

Über dieses Buch  ................................... 1

Inhaltsverzeichnis  ................................. 3

Was ist ein Compiler?
- Warum gibt es Compiler?  .......................... 6
- Wie sind sie aufgebaut?  .......................... 10

Unsere Sprache:
- Ein Überblick ..................................... 14
- Das Hauptprogramm  ................................ 16
- Ausgabe von Texten  ............................... 19
- Ausgabesteuerung  ................................. 21
- Ausgabe auf den Drucker  .......................... 24
- Setzen der Bildschirmfarben  ...................... 26
- Vereinbarung von Variablen ........................ 29
- Daten Ein- und Ausgabe  ........................... 31
- Zuweisung von Werten  ............................. 33
- Funktionen ........................................ 38
- Entscheidungen .................................... 43
- Schleifen ......................................... 52
- Sprünge ........................................... 65
- Unterprogramme  ................................... 67
 
Die lexikalische Analyse
 
- Warum eine lexikalische Analyse? .................. 70
- Wie arbeitet der Scanner? ......................... 72
- Programm lesen und Protokollzeile ausgeben ........ 74
 
Die syntaktische Analyse ............................ 102
 
- Die Regeln der Grammatik .......................... 111
- Der Index der Grammatik ........................... 115
- Wie arbeitet der Übersetzer mit der Grammatik? .... 117
- Die Analysestrategie .............................. 120
- Die Auswahl der Alternativen ...................... 123
- Die Betrachtung fehlerhafter Programme ............ 129
- Weitere Aufgaben .................................. 133
- Der Parser ........................................ 140
- Das Listing des Parsers ........................... 141
- Das Drucken des Parser Outputs .................... 161

Die semantische Analyse und die Codegenerierung
 
- Die Vorbemerkung .................................. 201
- Das Programm ...................................... 209
 
Die Assemblersprache des 6502
 
- Eine kleine Einführung ............................ 227
- Der Befehlssatz des Assemblers .................... 243
- Das Programm des Assemblers ....................... 245
- Der Disassembler .................................. 273
- Das Programm des Disassemblers .................... 278
 
Das Betriebssystem des CBM-64 ....................... 292
 
Wie machen wir unsere Programme kleiner? ............ 320
 
Literaturhinweise ................................... 335

Leseprobe[Bearbeiten | Quelltext bearbeiten]

(1. Auflage - Seite 14f: Kapitel "Unsere Sprache"; Unterkapitel "Ein Überblick")

Ich möchte Ihnen in diesem Kapital einen kurzen Überblick über die Sprache geben, für die wir einen Compiler schreiben wollen. Da wir in der Wahl einer Sprache frei sind, habe ich einfach eine erfunden, die für unsere Zwecke gut geeignet ist.

Es ist klar, daß wir für unsere Zwecke eine überschaubare Sprache brauchen, damit der Compiler handlich bleibt. Wir wollen aber der Tendenz innerhalb der Programmiersprachentwicklung folgen und eine blockstrukturierte Sprache wählen. Ich habe eine Auswahl von grundsätzlichen Möglichkeiten getroffen, die Sie in jeder modernen Programmiersprache finden.

Unsere Sprache habe ich "MINIATUR getauft. Zum einen, weil sie die elementaren Möglichkeiten umfaßt, zum anderen, weil sie leicht erweiterbar ist, falls Sie dies wollen.

Aber was kann denn nun MINIATUR?

Ein MINIATUR-Programm besteht aus einem Hauptprogramm und, falls erwünscht, aus einer Reihe von Unterprogrammen. Um mit dem Rechner kommunizieren zu können, brauchen wir eine Ein- und Ausgabe von Daten, die Ausgabe von Texten und Steuerzeichen auf Bildschirm und Drucker.

Um rechnen zu können, ist in MINIATUR eine Fließkommaarithmetik möglich, die Wertzuweisung und das Errechnen von Werten elementarer Funktionen wie z.B. Sinus, Cosinus, Logarithmus usw.

Den Programmablauf können wir mit Schleifen, Entscheidungen und Sprüngen steuern.

Diese Möglichkeiten reichen aus, um die Arbeitsweise eines Compilers erläutern zu können. Die Sprache ist übrigens so aufgebaut, daß Sie sie ohne weiteres erweitern können. Wer z.B. die Fließkommaarithmetik verstanden hat, dem wird es ein leichtes sein, eine Ganzzahlarithmetik zu implementieren, da sie prinzipiell nichts ‘Neues’ erfordert.

Aber schauen Sie sich die folgenden Kapitel in Ruhe an, Sie werden mir dann sicher zustimmen, daß man in MINIATUR schon ganz nette Programme schreiben kann!

Fehler[Bearbeiten | Quelltext bearbeiten]

Meinung[Bearbeiten | Quelltext bearbeiten]

Weblinks[Bearbeiten | Quelltext bearbeiten]