Oleh Phil Burk dengan Larry Polansky, David Rosenboom dan Darren Gibbs. Dukungan untuk sel 64-bit oleh Aleksej Saushev.
Terakhir Diperbarui: 27 November 2022
Portable Forth ditulis dalam 'C' untuk sebagian besar platform 32 dan 64-bit.
Pforth ditulis dalam 'C' dan dapat dengan mudah diangkut ke platform 32 dan 64-bit baru. Ini hanya membutuhkan fungsi input dan output karakter untuk beroperasi dan, oleh karena itu, tidak memerlukan sistem operasi. Ini membuatnya berguna untuk mengemukakan dan menguji sistem tertanam.
Pforth juga bekerja pada desktop termasuk Windows, Mac dan Linux dan mendukung riwayat baris perintah. Ini memungkinkan Anda mengembangkan tes perangkat keras di desktop sebelum mencobanya pada sistem tertanam Anda. Tapi Pforth bukan lingkungan pemrograman desktop yang kaya dan ramah. Tidak ada alat GUI untuk mengembangkan aplikasi desktop. Pforth ramping dan kejam dan dioptimalkan untuk portabilitas.
Pforth memiliki alat untuk menyusun kode pada desktop, kemudian mengekspor kamus dalam format endian besar atau kecil sebagai kode sumber 'C'. Ini memungkinkan Anda menyusun tes untuk sistem tertanam yang tidak memiliki file I/O.
Pforth didasarkan pada ANSI-Forth tetapi tidak kompatibel 100%. https://forth-standard.org/standard/words
Kode untuk Pforth dipertahankan di github di: https://github.com/philburk/pforth
Dokumentasi untuk Pforth di: http://www.softsynth.com/pforth/
Untuk melaporkan bug atau meminta fitur, silakan ajukan masalah github.
Untuk pertanyaan atau diskusi umum, silakan gunakan Forum Pforth di: http://groups.google.com/group/pforthdev
Izin untuk menggunakan, menyalin, memodifikasi, dan/atau mendistribusikan perangkat lunak ini untuk tujuan apa pun dengan atau tanpa biaya dengan ini diberikan.
Perangkat lunak ini disediakan "sebagaimana adanya" dan penulis menyangkal semua jaminan sehubungan dengan perangkat lunak ini termasuk semua jaminan tersirat dari kemampuan diperjualbelikan dan kebugaran. Dalam hal apa pun penulis tidak akan bertanggung jawab atas kerusakan khusus, langsung, tidak langsung, atau konsekuensial atau kerusakan apa pun yang akibat hilangnya penggunaan, data atau laba, baik dalam tindakan kontrak, kelalaian atau tindakan menyiksa lainnya, yang timbul dari atau sehubungan dengan penggunaan atau kinerja perangkat lunak ini.
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
Membangun Pforth melibatkan dua langkah:
Kami telah menyediakan skrip build untuk menyederhanakan proses ini.
Di UNIX dan MacOS menggunakan Makefile:
cd platforms/unix
make all
./pforth_standalone
Untuk detail lebih lanjut, lihat wiki
Menggunakan CMake:
cmake .
make
cd fth
./pforth_standalone
Untuk sistem tertanam, lihat Pforth Reference Manual di:
http://www.softsynth.com/pforth/pf_ref.php
Untuk menjalankan Pforth all-in-one Enter:
./pforth_standalone
Atau, untuk menjalankan menggunakan file kamus, masukkan:
./pforth
Pemeriksaan cepat Forth:
3 4 + .
words
bye
Untuk mengkompilasi file kode sumber, gunakan:
INCLUDE filename
Untuk membuat kamus kustom masuk di pforth:
c" newfilename.dic" SAVE-FORTH
Nama harus diakhiri dengan ".dic".
Untuk menjalankan Pforth dengan kamus baru masuk dalam shell:
pforth -dnewfilename.dic
Untuk menjalankan PFORTH dan secara otomatis menyertakan file Forth: pforth myprogram.fth
Pforth dilengkapi dengan suite uji kecil. Untuk menguji kata -kata inti, Anda dapat menggunakan coretest yang dikembangkan oleh John Hayes.
Di UNIX dan MacOS menggunakan Makefile:
cd platforms/unix
make test
Menggunakan CMake:
cmake .
make
cd fth
./pforth
include tester.fth
include coretest.fth
Untuk menjalankan tes lainnya, masukkan:
pforth t_corex.fth
pforth t_strings.fth
pforth t_locals.fth
pforth t_alloc.fth
Mereka akan melaporkan jumlah tes yang lulus atau gagal.
Anda juga dapat menguji kernel Pforth tanpa memuat kamus menggunakan opsi "-i". Hanya kata -kata primitif yang didefinisikan dalam C yang akan tersedia. Ini mungkin diperlukan jika kamus tidak dapat dibangun.
./pforth -i
3 4 + .
23 77 swap .s
loadsys