Forth:Zero
Zunächst wollen wir unsere Referenz Forth Software Entwicklungsumgebung (SEU oder SDE) definieren.
Hardware
BearbeitenForth tritt mit dem Ziel an auch auf geringen Hardwareressourcen lauffähig zu sein und dabei systemnahe Entwicklung zuzulassen. Als Hardware benutzen wir daher einen Raspberry Pi Zero mit WLAN und HAT. Dies ist ein Kompromiss eines überschaubar kleinem/großen System und ermöglicht uns Hardware direkt anzusteuern. Ein USB-Kabel mit Schalter ist hierbei empfehlenswert.
Optional Konfiguration
Wir können direkt auf dem Raspberry entwickeln, es ist aber durchaus praktisch per SSH (Windows Nutzer z.B. mit Putty) den Rechner zu steuern. Hierzu aktivieren wir SSH. Der Start im Command Line Modus (CLI) ist für unsere Zwecke ausreichend. Wer lieber über die Grafische Oberfläche auf dem Raspberry Pi arbeiten möchte, öffnet die Terminal
Anwendung.
Statt dem Nutzer Pi arbeiten wir mit einem neu eingerichteten Nutzer forth
, der analoge Rechte zum Anwender pi
hat. Als Shell nutzen wir zsh
. Jede andere Shell kann aber auch von dir allerdings ebenso verwendet werden wie der Nutzer Pi.
Software
BearbeitenFür unser Raspberry System werden gleich drei Forth Systeme angeboten. Später werden wir Hintergründe verstehen, jetzt solltest du nur soviel dir merken: Gehe nie davon aus, dass ein Programm was in einem Forth System läuft auch in einem Anderen funktioniert. Wir installieren die verfügbaren Systeme nachfolgend.
zsh -k
# ( Wir installieren zunächst mit APT die angebotenen Forth Systeme )
forth@pi0wh:~> sudo apt install gforth pforth yforth
Anschließend erfolgt eine längere Ausgabe zum Installationsfortschritt.
zsh -k
# ( Anschließend vergewissern wir uns, dass die Forth Systeme erfolgreich installiert sind )
# ( Wir rufen die Forth Systeme in der Shell auf und geben daraufhin BYE zum beenden ein )
forth@pi0wh:~> pforth
bye
forth@pi0wh:~> gforth
bye
forth@pi0wh:~> yforth
bye
# ( Wir haben hier nur die Eingaben dargestellt )
# ( Die Screenshots zeigen eine beispielhafte Ausgabe )
Das Forth System startest du hier im Interpreter Modus. In deinem Forth System hast du dabei bereits ein erstes Programm(chen) programmiert, welches ganz konkret eine "Funktion" mit dem Namen bye
aufruft. Unsere drei Forth Systeme kennen diese "Funktion" und wissen, dass sie die Kontrolle an unsere Shell wieder zurückgeben sollen.
Anm. Der Begriff "Funktion" ist im Forth Umfeld nicht gebräuchlich, wir werden uns in den folgenden Kapiteln mit der korrekten Begrifflichkeit beschäftigen.
Anhand des Screenshots kannst du eine Beispielausgabe für alle drei Forth Systeme erkennen.
Rückblick
BearbeitenWas hast du jetzt erreicht:
- Du hast nun ein funktionierendes Forth System auf deinem Rechner installiert.
- Du kannst das Forth System im Interpretermodus gestartet und
- Du kannst dein Forth System korrekt beenden.
Kontrollaufgaben
Bearbeiten- Aufgabe "Weitere Funktionen 1": Starte einen deiner Interpreter und gebe ein: Was siehst du?
CR CR CR CR CR CR CR CR CR CR bye
- Aufgabe "Weitere Funktionen 2": Führe Aufgabe 1 durch aber drehe die Reihenfolge um in: Wie ändert sich deine Ausgabe?
bye CR CR CR CR CR CR CR CR CR CR
- Aufgabe "Hilfeseiten": Rufe in der Shell die Hilfeseiten zu deinem Forth System auf und lese was passiert, wenn du eingibst.
zsh -k # ( Hilfeseiten werden mit man <name> aufgerufen und mit 'q' beendet ) forth@pi0wh:~> gforth -e bye
Wie kannst du gleiches Verhalten mitzsh -k # ( Hilfeseiten werden mit man <name> aufgerufen und mit 'q' beendet ) forth@pi0wh:~> man gforth forth@pi0wh:~> man pforth forth@pi0wh:~> man yforth
pforth
undyforth
erreichen?
Ergänzungen
BearbeitenDie Installationen von Forth unter Linux unterscheiden sich je nach Distributor. Während Debian und damit Raspbian aktuell auf apt
aufsetzen, kann auch rpm
, pkg
, apk
, zypper
notwendig sein. Ggf. musst du auf den Hilfeseiten deines Linux nachschauen.
Sollte dir kein Forth-System von deinem Hersteller bereitgestellt werden, musst du das Forth-System aus dem Quelltext erstellen.