菲尔·伯克(Phil Burk)与拉里·波兰斯基(Larry Polansky),大卫·罗森伯(David Rosenboom)和达伦·吉布斯(Darren Gibbs)。支持Aleksej Saushev对64位细胞的支持。
最后更新:2022年11月27日
在大多数32位和64位平台上以“ C”写的便携式。
Pforth用“ C”编写,可以轻松移植到新的32位和64位平台上。它只需要字符输入和输出功能才能运行,因此不需要操作系统。这使得启动和测试嵌入式系统非常方便。
Pforth还可以在台式机上工作,包括Windows,Mac和Linux,并支持命令行历史记录。这使您可以在台式机上开发硬件测试,然后再在嵌入式系统上尝试。但是Pforth并不是一个富有且友好的桌面编程环境。没有开发桌面应用程序的GUI工具。 PFORTH是精益而卑鄙的,并且对可移植性进行了优化。
PFORTH具有用于在桌面上编译代码的工具,然后以“ C”源代码以大或小eNdian格式导出字典。这使您可以对没有文件I/O的嵌入式系统进行编译测试。
Pforth基于ANSI-Forth,但不兼容100%。 https://forth-standard.org/standard/words
pforth的代码在GitHub上保持:https://github.com/philburk/pforth
PFORTH的文档:http://www.softsynth.com/pforth/
要报告错误或请求功能,请提交GitHub问题。
有关问题或一般性讨论,请使用:http://groups.google.com/group/pforthdev使用PFORTH论坛
特此允许使用,复制,修改和/或分发此软件的许可。
该软件是“原样”提供的,作者对此软件不明权,包括所有隐含的适销性和健身保证。在任何情况下,作者均不应对任何特殊,直接,间接或结果损害赔偿,或任何因使用或与本软件的使用或绩效有关的合同,疏忽或其他侵权诉讼所造成的任何损害,无论是在合同,疏忽还是其他侵权诉讼中造成的任何损害。
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
建筑物涉及两个步骤:
我们提供了构建脚本来简化此过程。
在Unix和MacOS上使用MakeFile:
cd platforms/unix
make all
./pforth_standalone
有关更多详细信息,请参阅Wiki
使用Cmake:
cmake .
make
cd fth
./pforth_standalone
对于嵌入式系统,请参见pforth参考手册:
http://www.softsynth.com/pforth/pf_ref.php
运行多合一的PFORTH ENTER:
./pforth_standalone
或者,要使用字典文件运行,请输入:
./pforth
快速检查福特:
3 4 + .
words
bye
编译源代码文件使用:
INCLUDE filename
要在pforth中创建自定义字典:
c" newfilename.dic" SAVE-FORTH
该名称必须以“ .dic”结尾。
在shell中输入新词典,运行pforth:
pforth -dnewfilename.dic
运行pforth并自动包含第四个文件:pforth myprogram.fth
Pforth配备了一个小的测试套件。为了测试核心单词,您可以使用约翰·海斯(John Hayes)开发的Coretest。
在Unix和MacOS上使用MakeFile:
cd platforms/unix
make test
使用Cmake:
cmake .
make
cd fth
./pforth
include tester.fth
include coretest.fth
要运行其他测试,请输入:
pforth t_corex.fth
pforth t_strings.fth
pforth t_locals.fth
pforth t_alloc.fth
他们将报告通过或失败的测试数量。
您还可以使用选项“ -i”来测试PFORTH内核,而无需加载字典。 C中只有C中定义的原始词。如果无法构建字典,这可能是必要的。
./pforth -i
3 4 + .
23 77 swap .s
loadsys