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.