بقلم فيل بورك مع لاري بولانسكي وديفيد روزنبووم ودارين جيبس. دعم للخلايا 64 بت من Aleksej Saushev.
آخر تحديث: 27 نوفمبر 2022
محمول مكتوبة في "C" لمعظم 32 و 64 بت.
تتم كتابة Pforth في "C" ويمكن نقلها بسهولة إلى منصات جديدة 32 و 64 بت. إنه يحتاج فقط إلى وظائف إدخال الأحرف والإخراج للعمل ، وبالتالي لا يتطلب نظام تشغيل. هذا يجعلها مفيدة لتربية واختبار الأنظمة المضمنة.
يعمل Pforth أيضًا على أجهزة الكمبيوتر المكتبية بما في ذلك Windows و Mac و Linux ويدعم سجل سطر الأوامر. يتيح لك ذلك تطوير اختبارات الأجهزة على سطح المكتب قبل تجربتها على نظامك المدمج. لكن Pforth ليست بيئة برمجة سطح مكتب غنية وودية. لا توجد أدوات واجهة المستخدم الرسومية لتطوير تطبيقات سطح المكتب. Pforth هو العجاف والمتوسطة والمحسّنة لقابلية النقل.
لدى Pforth أداة لتجميع التعليمات البرمجية على سطح المكتب ، ثم تصدير القاموس بتنسيق Endian الكبير أو الصغير مثل رمز المصدر "C". يتيح لك ذلك تجميع الاختبارات لنظام مضمن لا يحتوي على ملف 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.
للأسئلة أو المناقشة العامة ، يرجى استخدام منتدى 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
للاطلاع على الأنظمة المدمجة ، راجع دليل مرجع Pforth على:
http://www.softsynth.com/pforth/pf_ref.php
لتشغيل All-in-One Pforth Enter:
./pforth_standalone
أو لتشغيل ملف القاموس ، أدخل:
./pforth
فحص سريع:
3 4 + .
words
bye
لتجميع ملفات رمز المصدر ، استخدم:
INCLUDE filename
لإنشاء قاموس مخصص أدخل في Pforth:
c" newfilename.dic" SAVE-FORTH
يجب أن ينتهي الاسم في ".dic".
لتشغيل Pforth مع القاموس الجديد أدخل في القشرة:
pforth -dnewfilename.dic
لتشغيل Pforth وتضمين ملف Forth تلقائيًا: pforth myprogram.fth
Pforth يأتي مع جناح اختبار صغير. لاختبار الكلمات الأساسية ، يمكنك استخدام Coretest التي طورها John Hayes.
على 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
سيقومون بالإبلاغ عن عدد الاختبارات التي تمر أو تفشل.
يمكنك أيضًا اختبار kernel pforth دون تحميل قاموس باستخدام الخيار "-i". فقط الكلمات البدائية المحددة في C ستكون متاحة. قد يكون هذا ضروريًا إذا كان لا يمكن بناء القاموس.
./pforth -i
3 4 + .
23 77 swap .s
loadsys