Фил Берк с Ларри Поланским, Дэвидом Розенбумом и Дарреном Гиббсом. Поддержка 64-битных клеток от Aleksej Saushev.
Последнее обновление: 27 ноября 2022 г.
Портатив, написанный в «C» для большинства 32 и 64-битных платформ.
Pforth написан в «C» и может быть легко перенесен на новые 32 и 64-битные платформы. Это требует только ввода символов и выходных функций для работы и, следовательно, не требует операционной системы. Это делает его удобным для поднятия и тестирования встроенных систем.
Pforth также работает на настольных компьютерах, включая Windows, Mac и Linux, и поддерживает историю командной строки. Это позволяет вам разрабатывать аппаратные тесты на рабочем столе, прежде чем попробовать их в вашей встроенной системе. Но Pforth - это не богатая и дружелюбная среда программы настольного компьютера. Нет никаких инструментов для разработки настольных приложений. Pforth является худым и средним и оптимизированным для переносимости.
У Pforth есть инструмент для составления кода на рабочем столе, а затем экспорт словаря в большом или маленьком формате Endian в качестве исходного кода «C». Это позволяет вам компилировать тесты для встроенной системы, в которой нет ввода -вывода файла.
PFORTH основан на ANSI-FORTH, но не является на 100% совместим. https://forth-standard.org/standard/words
Код для Pforth поддерживается на GitHub по адресу: https://github.com/philburk/pforth
Документация для pforth по адресу: http://www.softsynth.com/pforth/
Чтобы сообщить об ошибках или функциях запроса, пожалуйста, подать проблему GitHub.
Для вопросов или общего обсуждения, пожалуйста, используйте форум PFORTH по адресу: http://groups.google.com/group/pforthdev
Разрешение на использование, копирование, изменение и/или распределение этого программного обеспечения для любой цели с платой или без него предоставляется.
Программное обеспечение предоставляется «как есть», и автор отказывается от всех гарантий в отношении этого программного обеспечения, включая все подразумеваемые гарантии товарной способности и пригодности. Ни в коем случае автор не должен нести ответственность за какие -либо специальные, прямые, косвенные или косвенные убытки или каких -либо ущерб, вызванных потерей использования, данных или прибыли, будь то в действии контракта, халатности или других искажений, возникающих из или в связи с использованием или производительности этого программного обеспечения.
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
Строительство Pforth включает в себя два шага:
Мы предоставили сценарии сборки для упрощения этого процесса.
На Unix и MacOS с помощью Makefile:
cd platforms/unix
make all
./pforth_standalone
Для получения более подробной информации см. Вики
Используя Cmake:
cmake .
make
cd fth
./pforth_standalone
Для встроенных систем см. Руководство по справочнику PFOTH по адресу:
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".
Запустить Pforth с новым словарем ввести в оболочку:
pforth -dnewfilename.dic
Чтобы запустить pforth и автоматически включать в себя файл Forte: pforth myprogram.fth
Pforth поставляется с небольшим испытательным набором. Чтобы проверить основные слова, вы можете использовать корел -треск, разработанный Джоном Хейсом.
На 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
Они сообщат о количестве тестов, которые проходят или проваливаются.
Вы также можете проверить ядро Pforth без загрузки словаря с помощью опции "-i". Будут доступны только примитивные слова, определенные в C. Это может быть необходимо, если словарь не может быть построен.
./pforth -i
3 4 + .
23 77 swap .s
loadsys