avatar of cascas
24.02.2021

PlanckForth - ein minimales Linux-Forth

In der letzten VD hatten wir mit SectorForth ein Beispiel für Forth-Minimalismus. Das SectorForth passt in die 512 Bytes des Bootsektors einer Diskette oder Festplatte eines PC Systems. PlankkForth ist nun ein weiteres Beispiel für Forth-Minimalismus:

PlackForth ist ein Linux-Programm als handgeschriebene ELF-Linux-Datei (ELF = Executable and Linking Format - Dateiformat für ausführbare Dateien unter Unix/Linux). D.h PlankForth liegt nicht im Quelltext als Assembler oder Hochsprache vor, sondern wurde vom Autor Koichi Nakamura manuell in einer Hex-Datei geschrieben. Diese Hexdatei ist der "Quellcode" und wird in Binärcode "übersetzt".

Das Ergebnis ist ein minimales Forth mit 37 Forth-"Wörtern" die jeweils aus nur einem Buchstaben (bei Unterscheidung von Gross- und Kleinschreibung) bestehen. Das resultierende Binärprogramm ist genau 1024 Bytes gross, also doppelt so gross wie SectorForth. In dieser Basis-Variante sehen die PlankForth Programme noch sehr kryptisch aus, hier ein "Hello-World" Beispiel:

  kHtketkltkltkotk tkWtkotkrtkltkdtk!tk:k0-tQ

Das minimale PlanckForth lässt sich via Forth-Quellcode in ein vollständiges Forth erweitern, und dieses Forth lässt sich wie gewohnt benutzen.

PlanckForth Binary Layout

Der Quellcode von PlanckForth, inkl. Beispiele und Core-Tests, findet sich auf Github: https://github.com/nineties/planckforth

PlanckForth ist Open Source unter der MIT Lizenz.