Das Trainingsbuch zu FORTH

Aus C64-Wiki
Zur Navigation springenZur Suche springen


Das Trainingsbuch zu FORTH
Cover/Buchdeckel
Sprache deutsch
Autor(en) Peter Monadjemi
Verlag Data Becker
Jahr 1984
ISBN ISBN 3-89011-055-X
Neupreis DM 39,00
Datenträger
Seitenzahl 300
letzte Auflage
Genre Programmieren
Information




Buchrückseite[Bearbeiten | Quelltext bearbeiten]

DAS STEHT DRIN:
FORTH ist eine faszinierende Sprache für vielerlei Anwendungen, ob Sie nun Roboter steuern oder schnell hochauflösende Grafiken erstellen wollen. Das Trainingsbuch zu FORTH gibt nicht nur eine leichtverständliche Einführung, sondern bietet auch viele tiefergehende Informationen und wichtige Hinweise über den internen Aufbau dieser Programmiersprache.

Aus dem Inhalt:

  • Einstieg in eine neue Programmierphilosophie
  • Rechnen mit UPN
  • Arbeiten mit dem Stack
  • Konstanten und Variablen
  • Der Editor
  • Strukturiertes Programmieren
  • Ein-/Ausgabe in FORTH
  • FORTH INTERN
  • Speicheraufteilung
  • Wörterbucheintrag
  • Compiler oder Interpreter?
  • Erweitern des Compilers
  • Stringverarbeitung
  • FORTH und die Maschinensprache
  • Fehlerbehandlung in FORTH-Systemen

... und vieles mehr

UND GESCHRIEBEN HAT DIESES BUCH:
Peter Monadjemi, Student, hat viel Erfahrung als Seminarleiter zum Thema FORTH. Sein besonderes Interesse liegt bei der Steuerung und Regelung von Meßgeräten.

Inhaltsverzeichnis[Bearbeiten | Quelltext bearbeiten]

INHALTSVERZEICHNIS TEIL I 

Vorwort

Kapitel 1 EINLEITUNG

1.1 Was ist FORTH? ............................... 1
1.2 Der Anfang - erste Begegnung mit einer
    neuen Programmierphilosophie ................. 2
1.3 Für wen ist dieses Buch geschrieben? ......... 5 

Kapitel 2 ARBEITEN MIT FORTH 

2.1 Der STACK .................................... 6
2.2 Rechnen mit UPN .............................. 8
2.3 Eingabe auf den STACK ........................ 9
2.4 Ausgabe vom STACK ............................ 10
2.5 Rechenoperationen in FORTH ................... 11
2.6 Logische Verknüpfungen........................ 18
2.7 STACK Operationen ............................ 20
2.8 Einfache Textausgabe ......................... 25
    Übungsaufgaben zu Kapitel 2 .................. 27
    
Kapitel 3 PROGRAMMIEREN IN FORTH

3.1 Die Wortdefinition ........................... 29  
3.2 Die Namensgebung ............................. 35
    Übungsaufgaben zu Kapitel 3 .................. 38
    
Kapitel 4 KONSTANTEN UND VARIABLEN
4.1 Definition von Konstanten .................... 39
4.2 Definition von Variablen ..................... 40
4.3 Der direkte Speicherzugriff .................. 44
    Übungsaufgaben zu Kapitel 4 .................. 46
     
Kapitel 5 ENTSCHEIDUNGEN IN FORTH
3.1 Die IF .... ENDIF Anweisung .................. 47 
3.2 Die IF ..... ELSE ..... ENDIF Anweisung ...... 51
    Übungsaufgaben zu Kapitel 5 .................. 52
    
Kapitel 6 WIEDERHOLUNGEN IN FORTH
6.1 Die DO .... LOOP Anweisung ................... 53
6.2 Schleifen mit variabler Schrittweite ......... 56
6.3 Verschachtelte Schleifen ..................... 56
6.4 Vorzeitiges Verlassen einer Schleife ......... 59
6.5 Die BEGIN ..... UNTIL Anweisung .............. 60
6.6 Die BEGIN ..... WHILE ..... REPEAT Anw. ...... 62
6.7 Die BEGIN .... AGAIN Anweisung ............... 64
    Übungsaufgaben zu Kapitel 6 .................. 65

Kapitel 7 DER EDITOR
7.1 Speicheraufteilung in FORTH .................. 66
7.2 Ein zeilenorientierter EDITOR ................ 68

Kapitel 8 STRUKTURIERTES PROGRAMMIEREN ........... 74
8.1 Was heißt eigentlich programmieren ? ......... 74
8.2 Am Anfang ist das Problem .................... 75
8.3 Und was bedeutet "strukturiert" ? ............ 78
8.4 Top Down oder Bottom up ? .................... 78

Kapitel 9 EIN - UND AUSGABE IN FORTH
9.1 Die Ausgabe mit EMIT ......................... 84
9.2 Die Eingabe mit KEY .......................... 84
9.3 Texteingabe mit EXPECT ....................... 85
9.4 Die Textausgabe mit TYPE ..................... 86
9.5 Der PAD Speicher ............................. 86
9.6 CMOVE, WORD und COUNT ........................ 88

Kapitel 10 DER UMGANG MIT ZAHLEN
10.1 Zahlensysteme ............................... 91
10.2 Die Basis aller Umrechnungen - BASE ......... 94
10.3 Exkurs in die binäre Logik .................. 96
10.4 Rechnen mit doppelt langen Zahlen ........... 99
10.5 Zahlen ohne Vorzeichen ...................... 103
10.6 Die formatierte Zahlenausgabe ............... 107
10.7 Das verflixte Komma - oder was bedeutet
     eigentlich "Skalieren"? ..................... 109
10.8 Zahlenumwandlung mit NUMBER ................. 114
10.9 Zufallszahlen ............................... 117
     Übungsaufgaben zu Kapitel 10 ................ 118

Kapitel 11 DER RETURN STACK
11.1 Ein- und Ausgabe von Zahlen ................. 120

Kapitel 12 FORTH UND DER COMMODORE 64
12.1 Programmierung der hochauflösenden Grafik.... 125
12.2 FORTH ( ist) macht Musik .................... 136
     *** ENDE DES ERSTEN TEILS ***

INHALTSVERZEICHNIS TEIL II

Kapitel 13 FORTH INTERN
13.1 Die Speicheraufteilung in FORTH  ............ 141
13.11 Der PARAMETER STACK ........................ 143
13.12 Der Tastatureingabespeicher ................ 148
13.13 Der RETURN STACK ........................... 149
13.14 Die BOOT UP Area ........................... 149
13.15 Das Wörterbuch ............................. 150
13.16 Der PAD Speicher ........................... 151
13.17 Der Diskettenbuffer ........................ 152
13.18 Der USER Variablenbereich .................. 153
13.2 Der Wörterbucheintrag ....................... 154
13.3 Suchen im Wörterbuch ........................ 160
     Übungsaufgaben zu Kapitel 13 ................ 164
     
Kapitel 14 FORTH UND SEIN SPEICHER
14.1 Der Virtuelle Speicher ...................... 165
14.2 Der Diskettenbuffer ......................... 166
14,3 Das Wort BLOCK .............................. 168
     Übungsaufgaben zu Kapitel 14 ................ 178

Kapitel 15 INDIZIERTE VARIABLEN UND FELDER
15.1 Der Wörterbucheintrag einer Variablen ....... 179
15.2 Ein neuer Variablentyp wird creiert ......... 181
15.3 Zufallszahlenauswertung ..................... 182
15.4 Zahlensortieren ............................. 185

Kapitel 16 NOCH EINMAL DAS WÖRTERBUCH
16.1 Die Linkkette hält alles zusammen ........... 188
16.2 Löschen eines Wörterbucheintrages ........... 189
16.3 Die Vokabulare .............................. 190

Kapitel 17 COMPILER ODER INTERPRETER?
17.1 Der TEXT INTERPRETER ........................ 197
17.2 Für Ungeduldige - die IMMEDIATE Wörter....... 201
17.3 Unterbrechen des Compile mode ............... 205
17.4 Die Compilierung von Zahlen ................. 205
     Übungsaufgaben zu Kapitel 17 ................ 210
     
Kapitel 18 ERWEITERN SIE DEN COMPILER
18.1 RUN TIME ist nicht COMPILE TIME ............. 211
18.2 Die COMPILIERENDEN Worte .................... 212
18.3 Die DEFINITIONSWÖRTER ....................... 215
18.4 Das DEFINITIONSWORT CREATE .................. 216
18.5 Auch DEFINITIONSWÖRTER können definiert
     werden ...................................... 219
18.6 Die <BUILDS ..... DOES> Konstruktion ........ 222
     Übungsaufgaben zu Kapitel 18 ................ 231

Kapitel 19 EIN WENIG STRINGVERARBEITUNG
19.1 Einige elementare Stringfunktionen .......... 232
     Übungsaufgaben zu Kapitel 19 ................ 238

Kapitel 20 FORTH UND DIE MASCHINENSPRACHE
20.1 Worttypen in FORTH .......................... 239
20.2 Eingabe von Maschinencode ................... 240
20.3 Der ADRESS INTERPRETER ...................... 242
20.4 Der FORTH ASSEMBLER ......................... 244
20.5 Ein PRIMITIVE wird definiert ................ 246
     Übungsaufgaben zu Kapitel 20 ................ 250

     Nachwort .................................... 251

ANHANG A ASCII Code Tabelle ...................... 253

ANHANG B Stichwortverzeichnis .................... 256

ANHANG C Lösungen zu den Übungsaufgaben .......... 260

ANHANG D FORTH Wort Index ........................ 278

ANHANG E Noch nicht vorgestellte FORTH Worte ..... 282

ANHANG F FORTH Lexikon ........................... 286

ANHANG G Fehlerbehandlung in FORTH Systemen ...... 292

ANHANG H Spezielle EDITOR Kommandos .............. 296

Leseprobe[Bearbeiten | Quelltext bearbeiten]

(1. Auflage - Seite 1: Kapitel "1.1 Was ist FORTH ?")

FORTH ist eine junge Programmiersprache. Sie wurde Ende der Sechziger Jahre von Charles Moore entwickelt. Ihre Geburtsstunde erlebte Sie auf einer Honeywell 315 am National Radio Astronomy Observatory in Charlottsville (USA). FORTH wurde dort zur Steuerung des Radio Teleskops und zur Verarbeitung der dort anfallenden Meßwerte eingesetzt.

Eigentlich hätte FORTH "FOURTH" ("die Vierte") heißen sollen, um auf die Rechner der "vierten Generation" hinzuweisen, für die FORTH konzipiert wurde. Doch die IBM 1130, auf der Moore eine Art " Ur-FORTH " entwickelt hatte, ließ nur fünfstellige Namensbezeichner zu. So wurde das ' U ' gestrichen und FORTH war geboren.

Für das Erlernen einer neuen Programmiersprache muß es gute Gründe geben. Um eine echte Alternative zu der bislang verwendeten Programmiersprache zu sein (bei der es sich wohl meistens um BASIC handeln wird), muß die neue Programmiersprache einige markante Vorteile aufweisen, Bei FORTH lassen sich diese Vorteile nicht unbedingt auf den ersten Blick feststellen. Im Gegenteil ! Viele Eigenarten von FORTH, so z.B. das Fehlen von sog. Gleitkommazahlen, Funktionen wie SOR, SIN und EXP, die fehlende Möglichkeit einer komfortablen Stringverarbeitung, um nur die markantesten Beispiele aufzuzählen, werden wohl jeden eingefleischten BASIC Programmierer zunächst verächtlich abwinken lassen.

Doch wer sich von diesen Nachteilen nicht abschrecken läßt, dem wird sich bald eine vollkommen neue "Programmierwelt" auftun.

FORTH ist mehr als "bloß" eine Programmiersprache. Dahinter steckt vielmehr eine Programmierphilosophie. Im Mittelpunkt dieser Philosophie steht der STACK. Nahezu alle Operationen laufen über diesen Speicher, so daß ihm eine zentrale Bedeutung zukommt. FORTH läßt sich nur schwer einordnen, es ist an sich eine Compilersprache, mit der Sie aber auch interaktiv arbeiten können. Sie können in FORTH strukturiert wie in PASCAL, aber auch direkt maschinenorientiert, wie in Assembler, programmieren.

FORTH ist schnell - verlgeichbare Programme laufen bis zu zwanzig mal schneller als in BASIC.

Ein weiterer Vorteil ist seine weitgehende Standardisierung. Die meisten FORTH-Versionen für kleinere Systeme haben ihren Ursprung im "F.I.G.-FORTH" der FORTH Interest Group (FIG), einer nicht-kommerziellen Vereinigung, oder im "79-STANDARD".

Beide Versionen unterscheiden sich durch die Anzahl der Worte und ein wenig in ihrem Aufbau. Alle zur Zeit für kleinere Systeme angebotenen FORTH Versionen unterscheiden sich höchstens in einigen Spezialbefehlen von diesen beiden Standards ah.

Dies ist ein Vorteil, den sicher alle diejenigen unter Ihnen zu schätzen wissen werden, die schon einmal versucht haben, ihre Commodore 64 Programme auf einen TI 99/4 zu übertragen.

Wenn auch Bezeichnungen wie "Programmiersprache der Achtziger Jahre" wohl etwas zu hoch gegriffen sind, so läßt sich doch mit Sicherheit eines feststellen: FORTH ist eine faszinierende Programmiersprache, die seine Benutzer herausfordert, einiges an Programmiertalent von ihnen verlangt, dafür aber auch einiges zu bieten hat, wie die dieses Buch hoffentlich belegen wird.

Fehler[Bearbeiten | Quelltext bearbeiten]

Meinung[Bearbeiten | Quelltext bearbeiten]

Weblinks[Bearbeiten | Quelltext bearbeiten]