von Phil Burk mit Larry Polansky, David Rosenboom und Darren Gibbs. Unterstützung für 64-Bit-Zellen von Aleksej Saumushev.
Zuletzt aktualisiert: 27. November 2022
Tragbar in 'C' für die meisten 32- und 64-Bit-Plattformen.
Pforth ist in 'C' geschrieben und kann leicht auf neue 32- und 64-Bit-Plattformen portiert werden. Es benötigt nur Zeicheneingangs- und Ausgangsfunktionen, um zu operieren, und benötigt daher kein Betriebssystem. Dies macht es nützlich, eingebettete Systeme zu erzählen und zu testen.
Pforth arbeitet auch auf Desktops wie Windows, Mac und Linux und unterstützt den Befehlszeilenverlauf. Auf diese Weise können Sie Hardware -Tests auf einem Desktop entwickeln, bevor Sie sie in Ihrem eingebetteten System ausprobieren. Aber Pforth ist keine reichhaltige und freundliche Desktop -Programmierumgebung. Es gibt keine GUI -Tools für die Entwicklung von Desktop -Anwendungen. Pforth ist schlank und mittler und optimiert für die Portabilität.
Pforth verfügt über ein Tool zum Kompilieren von Code auf einem Desktop und zum Exportieren des Wörterbuchs im großen oder kleinen Endian -Format als "C" -Sellcode. Auf diese Weise können Sie Tests für ein eingebettetes System zusammenstellen, das keine Datei -E/A enthält.
Pforth basiert auf ANSI-Firsthu, ist jedoch nicht zu 100% kompatibel. https://forth-standard.org/standard/words
Code für Pforth wird auf GitHub unter: https://github.com/philburk/pforth verwaltet
Dokumentation für Pforth unter: http://www.softsynth.com/pforth/
Um Fehler zu melden oder Funktionen anzufordern, stellen Sie bitte ein GitHub -Problem ein.
Für Fragen oder allgemeine Diskussionen verwenden Sie bitte das Pforth -Forum unter: http://groups.google.com/group/pforthdev
Die Erlaubnis zur Verwendung, Kopie, Änderung und/oder Verteilung dieser Software zu einem bestimmten Zweck mit oder ohne Gebühr wird hiermit erteilt.
Die Software wird "wie es ist" bereitgestellt, und der Autor lehnt alle Garantien in Bezug auf diese Software ab, einschließlich aller impliziten Garantien für Handelsfähigkeit und Fitness. In keinem Fall haftet der Autor für besondere, direkte, indirekte oder Folgeschäden oder Schäden, die sich aus dem Verlust der Nutzung, Daten oder Gewinne ergeben, sei es in Vertragsmaßnahmen, Fahrlässigkeit oder anderen unerlaubten Handlungen, die sich aus oder im Zusammenhang mit der Verwendung oder Leistung dieser Software ergeben.
platforms - tools for building pForth on various platforms
platforms/unix - Makefile for unix
csrc - pForth kernel in ANSI 'C'
csrc/pf_main.c - main() application for a standalone Forth
csrc/stdio - I/O code using basic stdio for generic platforms
csrc/posix - I/O code for Posix platform
csrc/win32 - I/O code for basic WIN32 platform
csrc/win32_console - I/O code for WIN32 console that supports command line history
fth - Forth code
fth/util - utility functions
Das Aufbau von Pforth beinhaltet zwei Schritte:
Wir haben Build -Skripte bereitgestellt, um diesen Prozess zu vereinfachen.
Auf Unix und MacOS mit Makefile:
cd platforms/unix
make all
./pforth_standalone
Weitere Informationen finden Sie im Wiki
Verwenden von CMake:
cmake .
make
cd fth
./pforth_standalone
Für eingebettete Systeme finden Sie im Pforth -Referenzhandbuch unter:
http://www.softsynth.com/pforth/pf_ref.php
Um den All-in-One-Pforth-Eintritt auszuführen:
./pforth_standalone
Oder geben Sie ein, um mit der Dictionary -Datei auszuführen:
./pforth
Schnelle Überprüfung forther:
3 4 + .
words
bye
Um Quellcode -Dateien zu kompilieren, verwenden Sie:
INCLUDE filename
So erstellen Sie ein benutzerdefiniertes Wörterbuch in Pforth:
c" newfilename.dic" SAVE-FORTH
Der Name muss in ".dic" enden.
Pforth mit dem neuen Wörterbuch in die Shell eingeben:
pforth -dnewfilename.dic
Um Pforth auszuführen und automatisch eine vierte Datei einzuschließen: Pforth MyProgram.fth
Pforth wird mit einer kleinen Testsuite geliefert. Um die Kernwörter zu testen, können Sie den von John Hayes entwickelten Coretest verwenden.
Auf Unix und MacOS mit Makefile:
cd platforms/unix
make test
Verwenden von CMake:
cmake .
make
cd fth
./pforth
include tester.fth
include coretest.fth
Um die anderen Tests auszuführen, geben Sie ein:
pforth t_corex.fth
pforth t_strings.fth
pforth t_locals.fth
pforth t_alloc.fth
Sie werden die Anzahl der Tests melden, die bestanden oder fehlschlagen.
Sie können den Pforth-Kernel auch testen, ohne ein Wörterbuch mit Option "-i" zu laden. Nur die in C definierten primitiven Wörter werden verfügbar sein. Dies kann notwendig sein, wenn das Wörterbuch nicht gebaut werden kann.
./pforth -i
3 4 + .
23 77 swap .s
loadsys