This page (revision-11) was last changed on 03-Feb-2023 15:21 by John 

This page was created on 27-Jul-2010 06:33 by John

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
11 03-Feb-2023 15:21 11 KB John to previous
10 27-Jul-2010 07:00 11 KB John to previous | to last
9 27-Jul-2010 07:00 11 KB John to previous | to last
8 27-Jul-2010 06:59 12 KB John to previous | to last
7 27-Jul-2010 06:57 12 KB John to previous | to last
6 27-Jul-2010 06:51 12 KB John to previous | to last
5 27-Jul-2010 06:40 12 KB John to previous | to last
4 27-Jul-2010 06:38 12 KB John to previous | to last
3 27-Jul-2010 06:36 13 KB John to previous | to last
2 27-Jul-2010 06:34 13 KB John to previous | to last
1 27-Jul-2010 06:33 32 bytes John to last

Page References

Incoming links Outgoing links

Version management

Difference between version and

At line 1 changed one line
!!! volksFORTH Version 3.90 Manual
!!! volksFORTH Version 3.90 Manual (work in progress)
At line 5 removed one line
( work in progress )
At line 7 removed one line
[english machine-translation by Google|http://translate.google.de/translate?js=y&prev=_t&hl=en&ie=UTF-8&layout=1&eotf=1&u=http%3A%2F%2Fwiki.strotmann.de%2Fwiki%2FWiki.jsp%3Fpage%3DVFHandbuchKapitel1&sl=de&tl=en]
At line 13 changed one line
The authors have made efforts in this manual for a complete and accurate representation. The information contained in the manual, however, serve only as a product and should not be interpreted as guaranteed characteristics in the legal sense. Any claims for damages against the authors for whatever legal reason are excluded. It is not guaranteed that the procedure given free of third party rights.
The authors have made every effort in this manual for a complete and accurate representation. The information contained in the manual, however, serves only as a product and should not be interpreted as guaranteed characteristics in the legal sense. Any claims for damages against the authors for whatever legal reason are excluded. It is not guaranteed that the procedure given free of third party rights.
At line 19 changed one line
volksFORTH83 is a language which is unusual in several respects. For FORTH itself is not only a language but a programming system, in principle, boundless. One of the main features of the FORTH programming system is its modality. This modularity is ensured by the smallest unit of a FORTH system, the WORD.
volksFORTH83 is a language which is unusual in several respects. For FORTH itself is not only a language but a programming system, which is in principle, boundless. One of the main features of the FORTH programming system is its modularity. This modularity is ensured by the smallest unit of a FORTH system, the WORD.
At line 21 changed one line
In the terms FORTH procedure, routine, program, definition and command are synonymous with all the needed word. FORTH is therefore, like any other natural language also made up of words.
In these terms a FORTH procedure, routine, program, definition and command are synonymous with all the needed words. FORTH is therefore, like any other natural language also made up of words.
At line 23 changed one line
This FORTH-words can be seen as already compiled modules, it being always extended a core of several hundred words through their own words. These words of the core are in a FORTH83 standard set and ensure that standard programs can be run without changes on the respective FORTH system. Unusual is that the program text of the core is a FORTH program itself, in contrast to other programming languages, where a machine language program is based. From this core is produced by a special FORTH program, the meta-compiler, the executable Forth system.
These FORTH-words can be seen as already compiled modules, it being always extended a core of several hundred words through their own words. These core are in a FORTH83 standard set and ensure that standard programs can be run without changes on the respective FORTH system. It is unusual that the program text of the core is a FORTH program itself, in contrast to other programming languages, where it is machine language based. This core is produced by a special FORTH program, the meta-compiler, the executable Forth system.
At line 25 changed one line
How to add this now runnable kernel add your own words? The compile of the words is introduced in FORTH with COLON ":" and semicolon ";" complete.
How do you add your own words to the runnable kernel? The creation of new words is introduced in FORTH with COLON ":" and semicolon ";" complete.
At line 30 changed one line
!! Interpreter und Compiler
!! Interpreter and Compiler
At line 32 changed one line
Ein klassisches FORTH-System stellt immer sowohl einen Interpreter als auch einen Compiler zur Verfügung. Nach der Einschaltmeldung oder einem Druck auf die -Taste wartet der FORTH-Interpreter mit dem FORTH-typischen "ok" auf Ihre Eingabe. Sie können ein oder mehrere Befehlswörter In eine Zelle schreiben. volksFORTH beginnt erst nach einem Druck auf die RETURN-Taste mit seiner Arbeit, indem es der Reihe nach jeden Befehl in der Eingabezeile abarbeitet. Dabei werden Befehlsworte durch Leerzeichen begrenzt. Der Delimiter (Begrenzer) für FORTH-Prozeduren ist also das Leerzeichen, womit auch schon die Syntax der Sprache FORTH beschrieben wäre.
A classic FORTH system is always both an interpreter and a compiler. After Einschaltmeldung or pressing the button waiting for the FORTH interpreter with the FORTH-typical "ok" for your input. You can write one or more command words in a cell. volksFORTH starts after pressing the return key with his work in helping processed by the series after each command in the command line. These command words are delimited by spaces. The delimiter (Limiter) for FORTH procedures is, therefore, the space, which also has the syntax of the language FORTH would be described.
At line 34 changed one line
Der Compiler eines FORTH-Systems ist also Teil der Interpreteroberfläche. Es gibt daher keinen Compiler-Lauf zur Erstellen des Programmtextes wie in anderen Compiler-Sprachen, sondern der Interpreter wird mit neuen zur Problemlösung notwendigen Worten als Anwenderprogramm abgesichert.
The compiler in a FORTH system is thus part of the interpreter interface. There is therefore no compilation process to create the code, as in other compiled languages, but the interpreter is secured with new words as necessary to solve the problems the user programs.
At line 36 changed one line
Auch ":" (COLON) und ";" (SEMICOLON) sind kompilierte Worte, die aber für das System den Compiler ein- und ausschalten. Da sogar die Worte. die den Compiler steuern, "normale" FORTH-Worte sind, fehlen in FORTH die in anderen Sprachen üblichen Compiler-Optionen oder Compiler-Schalter. Der FORTH-Compiler wird mit FORTH-Worten gesteuert.
Even ":" (COLON), and ";" (semicolon) are compiled words, which turn off the compiler for the system on and off. Since even the words. control the compiler, "normal"-FORTH words are missing from the usual FORTH compiler options in other languages or compiler switches. The FORTH compiler is controlled by FORTH-words.
At line 38 changed one line
Der Aufruf eines FORTH-Wortes erfolgt über seinen Namen ohne ein explizites CALL oder GOSUB. Dies führt zum FORTH-typischen Aussehen der Wortdefinitionen:
The call of a FORTH-word is by its name without an explicit CALL or GOSUB. This leads to the FORTH-typical appearance of the word definitions:
At line 41 changed one line
<wort1> <wort2> <wort3> ... ;
<word1> <word2> <word3> ... ;
At line 44 changed one line
Die Standard-Systemantwort in FORTH Ist das berühmte "ok". Ein Anforderungszeichen wie 'A>' bei DOS oder ']' beim guten APPLE 11 gibt es nicht! Das kann dazu führen. dass nach einer erfolgreichen Aktion der Bildschirm völlig leer bleibt; getreu der Devise:
The standard system response in FORTH is the famous "ok". There is no requirement characters like 'A>' for DOS or ']' in good APPLE 11 is not it! This can lead to. that after a successful action, the screen completely blank, true to the motto:
At line 46 changed one line
__Keine Nachrichten sind immer gute Nachrichten!__
__No News Is Always Good News!__
At line 48 changed one line
Und - ungewöhnlicherweise - benutzt FORTH die so genannte Postfix Notation (UPN) vergleichbar den HP-Taschenrechnern, die in machen Kreisen sehr beliebt sind. Das bedeutet, FORTH erwartet immer erst die Argumente, dann die Aktion... Statt
And - unusually - FORTH used the so-called Postfix Notation (RPN) is similar to HP calculators, which in some circles are very popular. This means FORTH always expects only the arguments, the action ... Instead of
At line 50 changed one line
3 + 2 und (5 + 5) * 10
3 + 2 and (5 + 5) * 10
At line 52 changed one line
heisst es
It means
At line 54 changed one line
2 3 + und 5 5 + 10 *
2 3 + and 5 5 + 10 *
At line 56 changed one line
Da die Ausdrücke von links nach rechts ausgewertet werden, gibt es in FORTH keine Klammern.
Since the expressions are evaluated from left to right, there are no brackets in FORTH.
At line 60 changed one line
Ebenso ungewöhnlich ist, dass FORTH nur ausdrücklich angeforderte Aktionen ausführt: Das Ergebnis Ihrer Berechnungen bleibt solange in einem speziellen Speicherbereich, dem Stack, bis es mit einem Ausgabebefehl (meist "." ) auf dann Bildschirm oder dem Drucker ausgegeben wird. Da die FORTH-Worte den Unterprogrammen und Funktionen anderer Programmiersprachen entsprechen, benötigen sie gleichfalls die Möglichkeit, Daten zur Verarbeitung zu übernehmen und das Ergebnis abzulegen. Diese Funktion übernimmt der STACK. In FORTH werden Parameter für Prozeduren selten In Variablen abgelegt, sondern meist über den Stack übergeben.
Equally unusual is that FORTH performs only actions explicitly requested: the result of your calculations will remain in a special area of memory, the stack, right up there with an output command (usually "will.") Issued on then screen or printer. As the words of the FORTH-subroutines and functions meet other programming languages, they also need the ability to receive data to process and store the result. This function takes the STACK. In FORTH parameters for procedures are often stored in variables, but mostly passed on the stack.
At line 64 changed one line
Innerhalb einer FORTH-Umgebung kann man sofort in der Maschinensprache des Prozessors programmieren, ohne den Interpreter verlassen zu müssen. Assembler Definitionen sind den FORTH-Programmen gleichwertige FORTH-Worte.
Within a FORTH environment can be instantly programmed into the machine language of the processor without having to leave the interpreter must. Assembler definitions are the equivalent programs FORTH FORTH-words.
At line 66 changed one line
!! Vokabular-Konzept
!! Vocabulary Concept
At line 68 changed one line
Das volksFORTH verfügt über eine erweiterte Vokabular-Struktur, die von W. Ragsdale vorgeschlagen wurde. Dieses Vokabular-Konzept erlaubt das Einordnen der FORTH-Worte In logische Gruppen.
The state-FORTH has an advanced vocabulary structure that was proposed by W. Ragsdale. This vocabulary-concept allows the classification of the FORTH-words in logical groups.
At line 70 changed one line
Damit können Sie notwendige Befehle bei Bedarf zuschalten und nach Gebrauch wieder wegschalten. Darüber hinaus ermöglichen die Vokabulare den Gebrauch gleicher Namen für verschiedene Worte, ohne In einen Namenskonflikt zu kommen. Eine im Ansatz ühnliche Vorgehenswelse bietet das UNIT-Konzept PASCAL oder MODULA-Compiler oder die Packages in Java.
This allows you to switch on when needed and necessary commands disconnecting after use. In addition, the vocabularies allow the use of the same name for different words, without getting into a name conflict. An approach in action ühnliche catfish offers the UNIT-concept or MODULA PASCAL compiler or the packages in Java.
At line 72 changed one line
!! FORTH-Dateien
!! FORTH-Files
At line 74 changed one line
FORTH verwendet oftmals besondere Dateien für seine Programme. Dies ist historisch begründet und das Erbe einer Zelt, als PORTH noch sehr oft Aufgaben des Betriebssystems übernahm. Da gab es ausschliesslich FORTH-Systeme, die den Massenspeicher vollständig selbst ohne ein DOS oder dazwischenliegendes Betriebssystem verwalteten und dafür Ihre eigenen Dateistrukturen benutzten. Diese Dateien sind so genannte Blockfiles und bestehen aus einer Aneinanderreihung von 1024 Byte grossen Blöcken. Ein solcher Block, der gerne SCREEN genannt wird, ist die Grundlage der Quellentext-Bearbeitung In FORTH. Allerdings können mit dem volks4TH auch normale Dateien bearbeitet werden, die Im Dateiformat des nativen Betriebssystems (MS-DOS; Atari TOS, Apple-DOS, AMS-DOS, CP/M ...) vorliegen, sog. "Stream Flies".
FORTH often uses special files for its programs. This is a historical basis and the legacy of a tent when Porth very often took over functions of the operating system. Since there were only FORTH systems, the mass completely without even a DOS operating system or intervening management and file structures for your own use. These files are so-called block files and consist of a series of large blocks of 1024 bytes. Such a block, which is often called SCREEN is the basis of the source text editing in FORTH. However, with the volks4TH normal files can be edited in the format of the native operating system (MS-DOS, Atari TOS, Apple DOS, AMS-DOS, CP / M there ...), so-called "stream flow".
At line 76 changed one line
Generell steht hinter jeder Sprache ein bestimmtes Konzept, und nur mit Kenntnis dieses Konzeptes ist möglich, eine Sprache effizient einzusetzen. Das Sprachkonzept von FORTH wird beschrieben in dem Buch "In FORTH denken' ([Thinking Forth|http://thinking-forth.sourceforge.net/]) von Leo Brodie (Hanser Verlag).
In general, any language is behind a certain concept, only with knowledge of this concept is possible to use a language effectively. The language concept of FORTH is described in the book "In FORTH think '([Thinking Forth | http://thinking-forth.sourceforge.net/]) by Leo Brodie (Hanser Verlag).
At line 78 changed one line
Einen ersten Eindruck vom volksFORTH83 und von unserem Stolz darüber soll dieser Prolog vermitteln. volksFORTH83 ist ein "Open-Source"-System, bei dessen Leistungsfähigkeit sich die Frage stellt:
A first impression of volksFORTH83 and our pride in this prologue is intended to provide. volksFORTH83 is an "open source" system, with its performance, the question arises:
!! Why do we make this system freely available ?
At line 80 changed one line
!! Warum stellen wir dieses System frei zur Verfügung ?
The spread, which has found the language FORTH was significantly linked to the existence of figFORTH. Also figFORTH is an open-source program (previously this was called public domain, but today the term is open-source more accurate), ie it must be inclusive of the source text passed and copied. Nevertheless wereunfortunately various providers to easily adapt the figFORTH on different computers can pay very expensive.
At line 82 changed one line
Die Verbreitung, die die Sprache FORTH gefunden hat, war wesentlich an die Existenz von figFORTH geknüpft. Auch figFORTH ist ein open-source Programm (früher wurde dies Public Domain genannt, aber heute ist der Ausdruck Open-Source genauer), d.h. es darf inklusive des Quelltextes weitergegeben und kopiert werden. Trotzdem haben sich bedauerlicherweise verschiedene Anbieter die einfache Adaption des figFORTH an verschiedene Rechner sehr teuer bezahlen lassen.
Established in 1979, published figFORTH is no longer the case currently, as caused by the further spread of Forth an abundance of elegant approaches, some of Forth83 in the standard and the ANSI Forth Standard have been included. It was then of Laxen and Perry wrote the F83 and disseminated as a public Domaln. This free-FORTH '83 standard for MS-DOS, with its numerous utilities quite complex and is not available with manual.
At line 84 changed one line
Das im Jahr 1979 erschienene figFORTH Ist heute nicht mehr so aktuell, weil mit der weiteren Verbreitung von Forth eine Fülle von eleganten Konzepten entstanden sind, die z.T. in den Forth83-Standard und den Forth ANSI-Standard Eingang gefunden haben. Daraufhin wurde von Laxen und Perry das F83 geschrieben und als Public Domaln verbreitet. Dieses freie 83er-Standard-FORTH für MS-DOS mit seinen zahlreichen Utilities ist recht komplex und wird auch nicht mit Handbuch geliefert.
We have developed a new Forth for different computers. The result is the volksFORTH83, one of the best Forth systems, there is. The state-FORTH is to build in the tradition of the above systems, in particular the F83, and promote the spread of the language FORTH.
At line 86 changed one line
Wir haben ein neues Forth für verschiedene Rechner entwickelt. Das Ergebnis Ist das volksFORTH83, eines der besten Forth-Systeme, die es gibt. Das volksFORTH soll in die Tradition der oben genannten Systeme, insbesondere des F83, anknüpfen und die Verbreitung der Sprache FORTH fördern.
state-FORTH FORTH was ultra under the name initially written for the C64. After publication of the Atari ST computer series, we decided to develop it for a volksFORTH83. The first shipped version 3.7 was that concerned editor and mass storage, still heavily based on the C64. It contained, however, have an improved tracer, the GEM library and other tools for the ST. The next step consisted in the integration of the operating system files. Source texts could now be processed from the desktop and other utilities. The third adaptation of the state-FORTH was designed for the CP / M machine (8080 processors), which is specifically for Schneider CPC also supports the graphics capability. Then the state-FORTH for widespread computer of the IBM PC series was adapted.
At line 88 changed one line
volksFORTH wurde unter dem Namen ultraFORTH zunächst für den C64 geschrieben. Nach Erscheinen der Rechner der Atari ST-Serie entschlossen wir uns, auch für sie ein volksFORTH83 zu entwickeln. Die erste ausgelieferte Version 3.7 war, was Editor und Massenspeicher betraf, noch stark an den C64 angelehnt. Sie enthielt jedoch schon einen verbesserten Tracer, die GEM-Bibliothek und die anderen Tools für den ST. Der nächste Schritt bestand In der Einbindung der Betriebssystem-Dateien. Nun konnten Quellentexte auch vom Desktop und mit anderen Utilities verarbeitet werden. Die dritte Adaption des volksFORTH entstand für die CP/M-Rechner (8080-Prozessoren), wobei speziell für den Schneider CPC auch die Grafikfähigkeit unterstützt wird. Dann wurde das volksFORTH für die weit verbreiteten Rechner der IBM PC-Serie angepasst.
In the 90 years, computers have been set with many megabytes of main memory and disk space to Stabndard, and graphical operating systems like Windows or MacOS through.
At line 90 changed one line
In den 90er Jahren wurden Rechner mit vielen Megabyte an Hauptspeicher und Festplattenplatz zum Stabndard, und grafische Betriebssysteme wie Windows oder MacOS setzen sich durch.
But state-FORTH is now still interesting for computers with limited system resources, be it on old home computers from the 80s or PDAs and mobile phones.
At line 92 changed one line
Aber volksFORTH ist heute immer noch für Rechner mit begrenzten Systemresourcen interessant, sei es auf alten Homecomputern aus den 80er Jahren oder PDAs und Mobiltelefonen.
People Forth is in version 3.90 available for the following computer systems:
At line 94 changed one line
VolksForth ist in der Version 3.90 für die folgenden Rechnersysteme verfügbar:
* 6502 CPU
** Commodore C64
** Commodore C16
** Commodore Plus4
** Atari XL / XE
** Apple I
** Apple II
* Z80 CPU
** CP / M
** Amstrad / Schneider CPC under AMS-DOS
** Amstrad NC100
** Research Sinclair Z88
* 8088 CPU (Intel / AMD)
** MS-DOS (in a DOS-BOX under Windows, Linux, OS / 2, MacOS)
* 68000 CPU
** Atari ST
At line 96 changed 16 lines
* 6502 CPU
** Commodore C64
** Commodore C16
** Commodore Plus4
** Atari XL/XE
** Apple I
** Apple II
* Z80 CPU
** CP/M
** Amstrad/Schneider CPC unter AMS-DOS
** Amstrad NC100
** Sinclair Research Z88
* 8088 CPU (Intel / AMD)
** MS-DOS (in einer DOS-BOX auch unter Windows, Linux, OS/2, MacOS)
* 68000 CPU
** Atari ST
!! Why can you program in VolksForth83?
At line 113 changed one line
!! Warum soll man in volksFORTH83 programmieren?
The volksFORTH83 is an extremely powerful and compact tool. By resistant runtime library, compiler. Editor and debugger, the tiring ECLG-cycles ("Edit, Compile, Link and Go") is unnecessary. The code module is developed for the module, compiled and tested. The integrated debugger is the perfect test environment for Forth words. There are no huge hexdump or assembler listings that have little resemblance to the source text. Another important aspect is the multi-tasking. As you divide a program into individual, independent modules, or words, one should also available in single, independent processes can be divided. This is not possible in most languages. This has volksFORTH83 a simple yet powerful multi-tasker.
At line 115 changed one line
Das volksFORTH83 Ist ein ausgesprochen leistungsfähiges und kompaktes Werkzeug. Durch resistente Runtime-Library, Compiler. Editor und Debugger sind die ermüdenden ECLG-Zyklen ("Edit, Compile, Link and Go") überflüssig. Der Code wird Modul für Modul entwickelt, kompiliert und getestet. Der Integrierte Debugger Ist die perfekte Testumgebung für Forth-Worte. Es gibt keine riesigen Hexdumps oder Assemblerlistings, die kaum Ähnlichkeit mit dem Quellentext haben. Ein anderer wichtiger Aspekt ist das Multitasking. So wie man ein Programm in einzelne, unabhängige Module oder Worte aufteilt, so sollte man es auch in einzelne, unabhängige Prozesse aufteilen können. Das ist in den meisten Sprachen nicht möglich. Das volksFORTH83 besitzt einen einfachen, aber leistungsfähigen Multitasker.
Finally, has the volksFORTH83 still a wealth of details that do not have the other FORTH systems:
At line 117 changed one line
Schliesslich besitzt das volksFORTH83 noch eine Fülle von Details, über die andere FORTH-Systeme nicht verfügen:
* The vectors used in many places and so-called deferred words, allow an easy transformation of the system for different device configurations.
* It has a heap of "nameless" or words to code that is needed only temporarily. The block mechanism is so fast that it makes sense for large amounts of data processing, which are present in files that can be used.
* The system includes Tracer, Decompiler, Multi Tasker, assembler, editor, printer interface ... The volksFORTH83 produced, compared with other FORTH systems, relatively fast code that is slower than that of other compiled languages.
At line 119 changed 3 lines
* Es benutzt an vielen Stellen Vektoren und sog. deferred Worte, die eine einfache Umgestaltung des Systems für verschiedene Gerätekonfigurationen ermöglichen.
* Es besitzt einen Heap für "namenlose" Worte oder für Code, der nur zeitweilig benötigt wird. Der Blockmechanismus ist so schnell, dass er auch sinnvoll für die Bearbeitung grosser Datenmengen, die in Files vorliegen, eingesetzt werden kann.
* Das System umfasst Tracer, Decompiler, Multitasker, Assembler, Editor, Printer-Interface ... Das volksFORTH83 erzeugt, verglichen mit anderen FORTH-Systemen, relativ schnellen Code, der aber langsamer als der anderer Compilersprachen ist.
This guide is designed to support the yet to be completed volksFORTHS3. The FORTH Society, a nonprofit organization, offers the platform. It gives the club FORTH magazine "FOURTH DIMENSION out. Forth The Company may be accessed through the website [http://www.forth-ev.de].
At line 123 changed one line
Mit diesem Handbuch soll die Unterstützung des volksFORTHS3 noch nicht beendet sein. Die FORTH Gesellschaft e.V., ein gemeinnütziger Verein, bietet dafür die Plattform. Sie gibt die Vereins-FORTH-Zeitschrift "VIERTE DIMENSION" heraus. Die Forth Gesellschaft kann über die Webseite [http://www.forth-ev.de] erreicht werden.
!! Notes of the lecturer
At line 125 changed one line
!! Hinweise des Lektors
This guide is intended to volksFORTH83 both as a reference and as a textbook for FORTH (especially state-FORTH). Therefore, it is not, look like the other ethnic FORTH manuals, a collection of vocabulary. Instead, with detailed descriptions and programming examples in many chapters the possibilities of the FORTH system is explained. The chapters are supplemented by each word descriptions of the commands that occur in (Glossary). To distinguish between description, FORTH-words, program inputs and expenditures will be working with different character types:
At line 127 removed 2 lines
Diesem Handbuch zum volksFORTH83 Ist sowohl als Nachschlagewerk als auch als Lehrbuch für FORTH (speziell volksFORTH) gedacht. Deshalb handelt es sieh nicht, wie bei den anderen volksFORTH-Handbücher, um eine Auflistung des Vokabulars. Statt dessen wird mit ausführlichen Beschreibungen und Programmbeispielen in vielen Kapiteln die Möglichkeiten des FORTH-Systems erklärt. Ergänzt werden die einzelnen Kapitel jeweils um Wortbeschreibungen der darin vorkommenden Befehle (Glossar). Zur Unterscheidung von Beschreibung, FORTH-Worten, Programm-Eingaben und -ausgaben wird mit unterschiedlichen Schrifttypen gearbeitet:
At line 131 changed one line
Weiter mit [Kapitel 2|VFHandbuchKapitel2].
On with [Chapter 2|VFHandbookChapter2].