Par Phil Burk avec Larry Polansky, David Rosenboom et Darren Gibbs. Support pour les cellules 64 bits par Aleksej Sausauv.
Dernière mise à jour: 27 novembre 2022
Portable rédigé en «C» pour la plupart des plates-formes 32 et 64 bits.
Pforth est écrit en «C» et peut être facilement porté vers les nouvelles plates-formes 32 et 64 bits. Il n'a besoin que de fonctions d'entrée et de sortie de caractères pour fonctionner et, par conséquent, ne nécessite pas de système d'exploitation. Cela le rend à portée de main pour élever et tester des systèmes intégrés.
Pforth fonctionne également sur des ordinateurs de bureau, y compris Windows, Mac et Linux et prend en charge l'historique des lignes de commande. Cela vous permet de développer des tests matériels sur un bureau avant de les essayer sur votre système intégré. Mais Pforth n'est pas un environnement de programmation de bureau riche et convivial. Il n'y a pas d'outils GUI pour développer des applications de bureau. Pforth est maigre et moyen et optimisé pour la portabilité.
Pforth a un outil pour compiler du code sur un bureau, puis exporter le dictionnaire au format grand ou petit en tant que code source «C». Cela vous permet de compiler des tests pour un système intégré qui n'a pas d'E / S de fichiers.
Pforth est basé sur ANSI-FORTH mais n'est pas 100% compatible. https://forth-standard.org/standard/words
Le code pour Pforth est maintenu sur github à: https://github.com/philburk/pforth
Documentation pour Pforth à: http://www.softsynth.com/pforth/
Pour signaler les bogues ou les fonctionnalités de demande, veuillez déposer un problème GitHub.
Pour des questions ou une discussion générale, veuillez utiliser le forum Pforth à: http://groups.google.com/group/pforthdev
L'autorisation d'utiliser, de copier, de modifier et / ou de distribuer ce logiciel à quelque fin que ce soit avec ou sans frais est accordée par les présentes.
Le logiciel est fourni "tel quel" et l'auteur décline toutes les garanties en ce qui concerne ce logiciel, y compris toutes les garanties implicites de qualité marchande et de forme physique. En aucun cas, l'auteur ne sera responsable des dommages spéciaux, directs, indirects ou conséquents ou de dommages-intérêts résultant d'une perte d'utilisation, de données ou de bénéfices, que ce soit dans une action de contrat, de négligence ou d'autres actions délictuelles, résultant ou en relation avec l'utilisation ou les performances de ce logiciel.
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
Le bâtiment Pforth comprend deux étapes:
Nous avons fourni des scripts de construction pour simplifier ce processus.
Sur Unix et MacOS à l'aide de Makefile:
cd platforms/unix
make all
./pforth_standalone
Pour plus de détails, voir le wiki
Utilisation de CMake:
cmake .
make
cd fth
./pforth_standalone
Pour les systèmes intégrés, consultez le manuel de référence Pforth à:
http://www.softsynth.com/pforth/pf_ref.php
Pour exécuter le pforth tout-en-un, entrez:
./pforth_standalone
Ou, pour exécuter à l'aide du fichier de dictionnaire, entrez:
./pforth
Vérification rapide de Forth:
3 4 + .
words
bye
Pour compiler l'utilisation des fichiers de code source:
INCLUDE filename
Pour créer un dictionnaire personnalisé, entrez dans Pforth:
c" newfilename.dic" SAVE-FORTH
Le nom doit se terminer par ".dic".
Pour exécuter Pforth avec le nouveau dictionnaire, entrez dans le shell:
pforth -dnewfilename.dic
Pour exécuter Pforth et inclure automatiquement un fichier Forth: Pforth myProgram.fth
Pforth est livré avec une petite suite de tests. Pour tester les mots principaux, vous pouvez utiliser le plus coreté développé par John Hayes.
Sur Unix et MacOS à l'aide de Makefile:
cd platforms/unix
make test
Utilisation de CMake:
cmake .
make
cd fth
./pforth
include tester.fth
include coretest.fth
Pour exécuter les autres tests, entrez:
pforth t_corex.fth
pforth t_strings.fth
pforth t_locals.fth
pforth t_alloc.fth
Ils rapporteront le nombre de tests qui passent ou échouent.
Vous pouvez également tester le noyau Pforth sans charger un dictionnaire en utilisant l'option "-i". Seuls les mots primitifs définis en C seront disponibles. Cela peut être nécessaire si le dictionnaire ne peut pas être construit.
./pforth -i
3 4 + .
23 77 swap .s
loadsys