Das Trainingsbuch zu FORTH
| Das Trainingsbuch zu FORTH | |||
|---|---|---|---|
| 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.
