Diverses

3. Programmiersprache JForth als Freeware veröffentlicht



»Presse-Veröffentlichung, 21.00 Uhr, Montag, 10. August 1998


May the Forth be with you...Always !!!

(Unübersetzbares Wortspiel mit dem Zitat aus "Krieg der Sterne": May the force be with you...Always !!!
Möge die Macht mit dir sein...Immer!
Forth = Programmiersprache, force = Stärke, Macht)


Anpassung an OS3.1

Mit besonderem Dank an die ursprünglichen Autoren, Mike Haas und Phil Burk, die großherzig entschieden haben, dieses Produkt (früherer Preis $179) als Freeware herauszugeben, hat der Amiga nun einen weiteren Pfeil in seinem Köcher.

***** HINWEIS - Drucken Sie das ausgezeichnete Handbuch aus. Es bietet Ihnen nicht nur unschätzbare Informationen über die mitgelieferten Hilfsprogramme, sondern es enthält auch ein sehr gutes 3-stufiges Lernprogramm *****

***** Kommen Sie zur JForth Mailinglist!!! Um sich anzumelden, senden Sie eine E-Mail an "MDaemon@ChaosSolutions.com" mit "subscribe JForth-list" als einzige Zeile im Textbereich (ohne Anführungszeichen) *****


Um was handelt es sich denn?

JForth ist eine Programmiersprache, die es Ihnen erlaubt, mit Ihrem Amiga zusammenzuarbeiten. Wenn Sie in JForth programmieren, sind Sie "innerhalb" der Sprache. Sie haben von der Tastatur aus Zugriff zu jeder Datenstruktur, können jede Routine testen oder irgendein Entwicklungshilfsmittel verwenden. Diese direkte Verbindung zum Computer erhöht Ihre Produktivität und gibt Ihnen dadurch zusätzliche Zeit, die Qualität Ihrer Software zu verbessern. JForth beruht auf dem Standard für die Sprache Forth aus dem Jahre 1983. Forth war zunächst von Charles Moore konzipiert worden, als er erwas Neues brauchte, um Fernrohre zu kontrollieren. Er entwickelte eine Sprache, die auf einer Zusammenfassung von Worten, einem Wörterbuch, beruhte. Dieses Wörterbuch kann durch Schreiben neuer Worte, die auf vorhandenen aufbauen, erweitert werden. Seit der Originalversion von Mr. Moore wurde Forth für nahezu jeden Computertyp übersetzt, vom größten Gerät bis zum kleinsten Mikrocomputer. Da ein Minimalsystem von Forth in nur ein paar Kilobytes Speicher eingerichtet werden kann, wird es oft in Einbaucomputern von Prozesssteuerungen und Arbeitsmaschinen verwendet. Forth ist jedoch genauso gut für größere, fortschrittliche Computer, wie den Amiga, geeignet. Forth ist eine sehr flexible Sprache und kann an größere Rechner angepasst werden, ohne dass man den "Geschmack" der Originalsprache verliert. JForth ist eine Anpassung von Forth, die besonders für den Commodore Amiga entworfen wurde. JForth verwendet einen 32-Bit-Stack und kompiliert direkt in Maschinensprache des 68000. Dadurch wird JForth schneller als die meisten Forth-Dialekte. JForth bietet auch einen breiten Satz von Werkzeugen, um auf die besonderen Eigenschaften des Amiga zugreifen zu können. Sie können jede Library-Routine mit Namen aufrufen und sich auf jede Amiga-Struktur beziehen, indem Sie Datenstrukturen ähnlich wie in 'C' verwenden. JForth besitzt auch einige besondere Hilfsmittel, die einfache Grafiken, Intuition-Menüs, IFF-Dateien und andere Amiga-Eigenschaften unterstützen. Diese Hilfsmittel können direkt zur Vereinfachung Ihrer Amiga-Programmierung eingesetzt werden. Die Quellcodes aller dieser Hilfsmittel stehen zur Verfügung, so dass Sie sie an Ihre Bedürfnisse anpassen oder sie als Lernbeispiele für die Amiga-Programmierung verwenden können. JForth bietet auch mehr als ein Dutzend kleiner Beispielprogramme für jene, die so wie ich am besten aus Beispielen lernen. JForth erlaubt auch Dinge zu tun, die einmalig in der Forth-Geschichte sind, wovon das Eindruckvollste wohl CLONE ist. Mit diesem außergewöhnlichen Hilfprogramm können Sie eine eigenständige Version Ihres Programm von minimaler Größe erzeugen.


Aufrufe der Amiga-Libraries - JForth bietet ein System, um beliebige Routinen jeder Amiga-Library mit Namen aufrufen zu können. Es ermittelt, in welche Register des 68000 die Parameter geschrieben werden und erstellt den passenden Code. So können Sie leicht die Parameter an den Stack in der Reihenfolge übergeben, wie sie in der Amiga-Dokumentation beschrieben sind. Eine Anzahl von Hilfen wurden zur Unterstützung spezieller Teile von Amiga-Libraries geschrieben, darunter sind EZMENUS, Graphics, das Serial Device, ANSI-Codes und viele weitere.

Unterstützung der Amiga-Strukturen - JForth bietet Gleichwertiges für alle ".h"-Include-Dateien von "C". Diese ".j"-Dateien definieren alle notwendigen Strukturen und Konstanten, um Informationen an die Routinen der Amiga-Libraries übergeben zu können. Strukturen können interaktiv für das Debugging durch Verwendung von DST ausgegeben werden, wobei alle Elemente mit Namen und Wert dargestellt sind. Angepasst an OS3.1!

ARexx-Unterstützung - ARexx ist eine Sprache, die unterschiedlichen Anwendungen die Kommunikation miteinander ermöglicht. Zum Beispiel könnte ein Rechenblatt-Programm (spread sheet) mit einer Datenbank zusammenarbeiten. Diese Arbeitsmittel helfen Ihnen, ARexx-kompatible Programme zu schreiben.

Assembler - JForth unterstützt zwei verschiedene Assembler, einen mit umgekehrter polnischer Notation (Reverse Polish Notation = RPN) und einen mit einer Syntax ähnlich Motorola. Der RPN-Assembler kann zur Erzeugung von Macros verwendet werden, aber der Motorola-Assembler ist leichter zu lesen. Dazu gibt es auch einen Disassembler.

Block-Unterstützung und SCRED - Für alle, die die "altmodische" BLOCK- oder SCREEN-Arbeitsumgebung vorziehen, bieten wir LIST, LOAD und den üblichen Zeileneditor. Wir haben aber auch einen WYSIWYG SCREEN Editor, den wir SCRED nennen. (Wir empfehlen die Verwendung normaler Textdateien mit JForth.)

CLONE - CLONE können Sie zur Erzeugung kleiner, ausführbarer Abbilder (images) Ihres JForth-Programmes verwenden. CLONE übernimmt das kompilierte JForth-Programm, entnimmt alle Befehle und Daten, die zum Ablaufen des Programms benötigt werden und reassembliert eine kleinere Version davon. Alle JForth-Entwicklungshilfen, die Namensfelder und Verbindungsfelder (link fields) und alle anderen unbenutzten Worte werden zurückgelassen. Die endgültige Abbild-Größe ist vergleichbar mit solchen, die mit einem C-Kompiler und -Linker erzeugt werden. Abbilder können mit einer Symbol-Tabelle gespeichert werden, um (falls nötig) WHACK oder einen anderen Debugger anwenden zu können. Der JForth Source Level Debugger (Debugger auf Quell-Ebene) kann ebenfalls mit geCLONEten Programmen benützt werden. Die meisten Programme CLONEn ohne Änderungen, wenn ein paar einfache Regeln bezüglich der Runtime-Initialisierung von Variablen oder Arrays, die Forth-Adressen enthalten, befolgt werden.

Debugger - JForth bietet einen Quellcode-Debugger, mit dem Sie in Einzelschritten Ihren Code durchlaufen können. Bei jedem Schritt sehen Sie den Inhalt des Stacks. Sie können auch den Rückgabe-(return-)Stack prüfen, den Speicherinhalt ausgeben, Breakpunkte setzen, die Ausführung kontrollieren und sogar Forth-Befehle eingeben.

Gleitpunkt-Rechnung (Floating point) - JForth unterstützt sowohl Fast Floating Point mit einfacher Genauigkeit als auch den IEEE-Standard mit doppelter Genauigkeit. Diese Worte sind konform mit dem Forth Vendors Group Standard (Standard der Forth Verkäufer-Gruppe).

IFF-Unterstützung - JForth bietet Allzweck-Hilfsmittel zum Lesen und Schreiben von IFF-Dateien. Es enthält auch eine Werkzeugsammlung besonders zur Bearbeitung von ILBM-Grafikdateien. Damit können Sie Bilder, Bildausschnitte (brushes), Animationen und Ausschnitte von Animationen (anim brushes) in Ihr Programm einbauen. JForth bietet Ihnen auch Hilfsmittel für die Darstellung von Animationen und Präsentationen, wie Blitten, Wischblenden, Ein- und Ausblenden, usw. Mächtige grafische und Animationsprogramme können mit diesen Hilfen geschrieben werden.

Lokale Variablen - Lokale Variablen können die Definitionen komplexer Worte durch den Wegfall vieler Stack-Bearbeitungen vereinfachen. Lokale Variablen sind schnelle direktübernehmende (self fetching) Variablen, mit denen man rückgekoppelte sich wiederholende (reentrant recursive) Befehlsabläufe schreiben kann. Durch die Verwendung von regulären VARIABLEn kann man ein Wort nicht-reentrant machen.

Module - Die vorkompilierten Module von JForth bieten eine Methode, um schnell auf Codes zugreifen zu können, die während der Kompilation benötigt werden. Das schließt die Assembler, den Disassembler und die Amiga-Include- Dateien mit ein. Diese Module werden dynamisch mit dem Wörterbuch verknüpft, wenn sie gebraucht werden. Dadurch nehmen sie keinen Platz im normalen Wörterbuch weg, stehen aber sofort zur Verfügung.

Mehrfach-Standards - Dieses System erlaubt Ihnen, zwischen JForth und den wichtigen Standards - FIG, '79 und '83 - hin- und herzuschalten. Das ist angenehm zum Kompilieren von Codes, die mit einem anderen Forth geschrieben wurden. An einem ANSI-kompatiblen Modul wird gearbeitet.

ODE - ODE (Object Oriented Development Environment) ist eine objektorientierte Arbeitsumgebung für Entwicklung mit ähnlicher Grundidee wie SmallTalk. Sie können Klassen intelligenter Datenstrukturen entwickeln und so viele Kopien dieser Strukturen anfertigen, wie gebraucht werden. Diese Technik kann die Programmierung außerordentlich vereinfachen, weil es leichter wird, wiederverwendbaren Code zu schreiben.

Profiler - Dieses Werkzeug überwacht den Ablauf eines Programms um herauszufinden, wo es seine Zeit verbringt. Die meisten Programme verbrauchen die meiste Zeit in einem kleinen Bereich ihres Codes. Durch das Erkennen dieser Stellen kann man den Aufwand bei der Optimierung darauf bündeln, wo es am Notwendigsten ist.

Textra - ist ein mächtiger, aber leicht benutzbarer Texteditor mit mehreren Fenstern, der für Programmierer entworfen wurde. Er benützt die Maus, um den Text auszuwählen, und erlaubt Ausschneiden (Cut), Kopieren (Copy) und Einsetzen (Paste) von Fenster zu Fenster. Er hat auch ARexx-Anschluss, mit dem Sie vorbereitete (oder selbst verfasste) Makros (.textra-Dateien) zur Textbearbeitung heranziehen können. Textra arbeitet mit JForth zusammen, so dass Sie direkt aus dem Editor heraus kompilieren können. Wenn während der Kompilierung ein Fehler erkannt wird, macht ihn Textra kenntlich, so dass er schnell korrigiert werden kann.

Tutorials (Lehrprogramme) - Führungen für Anfänger, Geübte und Fortgeschrittene leiten Sie durch die grundlegenden Dinge des Systems.

Verschiedene Hilfsmittel zur Fehlersuche - Anzeigeteile (Showhunks) zur Analyse von Amiga-Binärdateien, grafische Hilfen für Animationen und Ausschnitte davon.


... und noch viel mehr!!!


Vergessen Sie nicht, sich das hervorragende Handbuch auszudrucken, Es bietet Ihnen sowohl unbezahlbare Informationen über die vielen vorhandenen Hilfsmittel als auch ein ausgezeichnetes 3-stufiges Lehrprogramm.


Kommen Sie zur JForth Mailinglist!!!

Um sich anzumelden senden Sie eine Nachricht an

MDaemon@ChaosSolutions.com
mit dem Text

subscribe JForth-list

als einzige Zeile im Textbereich.


Sie könne die Software herunterladen von

http://www.softsynth.com/jforth/


May the Forth be with you...always !!!

Copyright Martin Randall - August 1998«


Die Übersetzung aus dem Englischen stammt von Gernod Schomberg.