فري باسكال
مُترجم Free Pascal ( FPC ) هو مُترجم للغتين البرمجيتين Pascal و Object Pascal ، وهما لغتان متقاربتان في البنية. وهو برنامج مجاني مُرخص بموجب رخصة جنو العمومية العامة ، مع استثناءات تسمح بالربط الثابت مع مكتبات وحزم وقت التشغيل الخاصة به لأي غرض، بالإضافة إلى أي رخصة برمجية أخرى.
يدعم هذا النظام لهجة Object Pascal الخاصة به، بالإضافة إلى لهجات العديد من مترجمات عائلة Pascal الأخرى إلى حد ما، بما في ذلك لهجات Borland Pascal (المسماة "Turbo Pascal" حتى الإصدار 6 عام 1990)، وBorland (لاحقًا Embarcadero) Delphi ، وبعض مترجمات Macintosh القديمة . يتم اختيار اللهجة على أساس كل وحدة (موديول) ، ويمكن استخدام أكثر من لهجة واحدة لكل برنامج.
يتبع هذا النظام فلسفة " اكتب مرة واحدة، وقم بالتجميع في أي مكان" ، وهو متوفر للعديد من معمارية المعالجات وأنظمة التشغيل (انظر قسم "الأهداف "). يدعم لغة التجميع المضمنة ، ويتضمن مُجمِّعًا داخليًا قادرًا على تحليل عدة لهجات، مثل لهجتي AT&T وIntel.
توجد مشاريع منفصلة لتسهيل تطوير تطبيقات واجهة المستخدم الرسومية (GUI) متعددة المنصات ، وأبرزها بيئة التطوير المتكاملة Lazarus (IDE).
اللهجات المدعومة
في البداية، اعتمدت لغة Free Pascal على لغة Borland Pascal، وهي اللغة القياسية الفعلية لمبرمجي لغة Pascal، ولكنها اعتمدت لاحقًا لغة Object Pascal الخاصة بلغة Delphi. ومنذ الإصدار 2.0، يجري العمل باستمرار على تحسين أو تطبيق التوافق مع لغة Delphi.
يمكن للمترجم أن يعمل في أوضاع مختلفة ، على سبيل المثال أوضح المطورون أنهم سيقومون بتضمين تصحيحات عاملة للهجات القياسية للمعهد الوطني الأمريكي للمعايير (ANSI) والمنظمة الدولية للتوحيد القياسي (ISO) لإنشاء وضع متوافق مع المعايير.
بُذلت جهودٌ متواضعة لدعم بعض قواعد لغة باسكال الخاصة بشركة آبل لتسهيل التفاعل مع نظامي التشغيل ماك الكلاسيكي وماك أو إس . وتُطبّق لهجة آبل بعض ميزات باسكال القياسية التي لا يدعمها كلٌ من توربو باسكال ودلفي.
لم تُحدث سلسلة إصدارات 2.2.x تغييرات جوهرية في أهداف لغة فري باسكال تتجاوز مستوى بناء الجملة في دلفي 7 تقريبًا، بل سعت إلى تحقيق توافق أكبر. وكان الاستثناء البارز هو إضافة دعم للأنواع العامة في فري باسكال في الإصدار 2.2.0، قبل سنوات من دعمها بشكل كامل في دلفي.
UnicodeStringفي عام ٢٠١١، أُضيفت عدة ميزات خاصة بـ Delphi 2006 إلى فرع التطوير، واكتملت بعض الأعمال التمهيدية للميزات الجديدة في Delphi 2009 (وأبرزها إضافة النوع ). كما يحتوي فرع التطوير على امتداد Objective-Pascal للتفاعل مع Objective-C ( Cocoa ).
ابتداءً من الإصدار 2.7.1، أضافت Free Pascal دعمًا لـ ISO Pascal. ومنذ الإصدار 3.0.0، أصبح بإمكانها تجميع مُجمِّع P5 ISO Pascal الخاص بموقع standardpascal.org دون أي تغييرات.
تاريخ
السنوات الأولى
تم إنشاء Free Pascal عندما أوضحت Borland أن تطوير Borland Pascal لنظام MS-DOS سيتوقف مع الإصدار 7. بدأ الطالب Florian Paul Klämpfl في تطوير مترجمه الخاص المكتوب بلهجة Turbo Pascal والذي أنتج رمزًا 32 بت لموسع GO32v1 DOS (الذي تم تطويره واستخدامه بواسطة مشروع DJ's GNU Programming Platform ).
في الأصل، كان المترجم عبارة عن ملف تنفيذي 16 بت تم تجميعه بواسطة Turbo Pascal . بعد عامين، أصبح المترجم قادراً على تجميع نفسه إلى ملف تنفيذي 32 بت.
توسع
نُشرت النسخة الأولية من المترجم ذي 32 بت على الإنترنت ، وانضمّ المساهمون الأوائل إلى المشروع. وفي وقت لاحق، أنشأ مايكل فان كانيت نسخةً لنظام لينكس ، وذلك قبل خمس سنوات من إتاحة مترجم بورلاند كيليكس باسكال لنظام لينكس.
تم تكييف منفذ DOS للاستخدام في نظام التشغيل OS/2 باستخدام موسع إيبرهارد ماتس (EMX)، مما جعل OS/2 ثاني نظام تشغيل مدعوم. بالإضافة إلى المؤلف الأصلي، فلوريان كلامبفل، ساهم دانييل مانتيون بشكل كبير في تحقيق ذلك، حيث قدم النسخة الأصلية من مكتبة وقت التشغيل لنظام التشغيل OS/2 وEMX. تحسن المترجم تدريجيًا، وانتقل إصدار DOS إلى موسع GO32v2. وبلغ هذا ذروته في الإصدار 0.99.5، الذي كان أكثر استخدامًا من الإصدارات السابقة، وكان آخر إصدار يهدف فقط إلى التوافق مع لغة بورلاند باسكال؛ أضافت الإصدارات اللاحقة وضع توافق مع دلفي. تم أيضًا نقل هذا الإصدار إلى الأنظمة التي تستخدم معالجات عائلة موتورولا 68000 (m68k).
مع الإصدار 0.99.8، أُضيفت إمكانية تشغيل Win32 ، وبدأ العمل على دمج بعض ميزات دلفي. وبدأ العمل على استقرار الإصدار النهائي ، وصدر الإصدار 1.0 في يوليو 2000. وقد لاقت سلسلة 1.0.x رواجًا واسعًا في قطاعي الأعمال والتعليم. وفي إصدارات 1.0.x ، أُعيد تصميم البرنامج ليتوافق مع معالجات 68k، وأصبح المُصرّف يُنتج شفرة برمجية مستقرة للعديد من أنظمة التشغيل الشبيهة بنظام يونكس وأنظمة AmigaOS التي تعمل بمعالجات 68k .
الإصدار 2
أثناء تثبيت ما سيصبح لاحقًا الإصدار 1.0.x ، وكذلك عند نقله إلى أنظمة موتورولا 68k، اتضح أن تصميم مولد الشفرة كان محدودًا للغاية في جوانب عديدة. تمثلت المشاكل الرئيسية في أن إضافة معالجات استلزمت إعادة كتابة مولد الشفرة، وأن تخصيص السجلات كان يعتمد على مبدأ الاحتفاظ بثلاثة سجلات فارغة دائمًا بين وحدات البناء، وهو مبدأ غير مرن ويصعب صيانته.
لهذه الأسباب، انفصلت سلسلة 1.1.x عن الفرع الرئيسي 1.0.x في ديسمبر 1999. في البداية، اقتصرت التغييرات في الغالب على عمليات تنظيف وإعادة كتابة وتصميم جميع أجزاء المُصرّف. كما أُعيدت كتابة مُولّد الشفرة ومُخصِّص السجلات. وأُضيفت أيّة توافقات متبقية مفقودة مع دلفي.
استمر العمل على الإصدار 1.1.x ببطء ولكن بثبات. في أواخر عام 2003، أصبح منفذ PowerPC متاحًا، تلاه منفذ ARM في صيف 2004، ومنفذ SPARC في خريف 2004، ومنفذ x86-64 -AMD64 في أوائل عام 2004، مما جعل المترجم متاحًا لمنصة 64 بت.
في نوفمبر 2003، تم إصدار النسخة التجريبية الأولى من فرع 1.1.x، وحملت الرقم 1.9.0. وسرعان ما تبعتها النسختان 1.9.2 و1.9.4، حيث أضافت الأخيرة دعمًا لنظام التشغيل OS X. واستمر العمل مع الإصدارات 1.9.6 (يناير 2005)، و1.9.8 (أواخر فبراير 2005)، و2.0.0 (مايو 2005)، و2.0.2 (ديسمبر 2005)، و2.0.4 (أغسطس 2006).
الإصدار 2.2.x
في عام 2006، لم تكن بعض عمليات إعادة العمل الرئيسية المخطط لها للإصدار 2.2، مثل إعادة كتابة نظام الوحدات، قد بدأت بعد، وتقرر بدلاً من ذلك البدء في تثبيت الميزات التي تم تنفيذها بالفعل.
من بين دوافع هذا التغيير في خارطة الطريق احتياجات مشروع بيئة التطوير المتكاملة لازاروس، ولا سيما الرابط الداخلي، ودعم أنظمة التشغيل ويندوز 64 بت ، وويندوز سي إي ، وماك أو إس إكس على معالجات x86 ، والميزات ذات الصلة مثل DWARF . بعد الإصدارين التجريبيين 2.1.2 و2.1.4، تم إصدار النسخة 2.2.0 في سبتمبر 2007، تلتها النسخة 2.2.2 في أغسطس 2008، ثم النسخة 2.2.4 في مارس 2009.
حسّنت سلسلة الإصدارات 2.2.x بشكل كبير دعم واجهة ActiveX ونموذج كائنات المكونات ( COM) وربط الكائنات وتضمينها (OLE)، على الرغم من استمرار اكتشاف بعض الأخطاء. تم تنفيذ تفويض الواجهة باستخدام الكلمة المفتاحية جزئيًا، ولكنه لم يكتمل حتى مارس 2011.implements [ 1 ] تم تحسين دعم المكتبة لـ ActiveX أيضًا .
ومن الميزات الرئيسية الأخرى وجود رابط داخلي لأنظمة التشغيل Win32 وWin64 وWindows CE، مما حسّن بشكل كبير من وقت الربط واستخدام الذاكرة، وجعل دورة التجميع والربط والتشغيل في Lazarus أسرع بكثير. كما تم تحسين كفاءة الربط الذكي، أو إزالة التعليمات البرمجية غير المستخدمة .
تضمنت الميزات الجديدة الطفيفة دعمًا مُحسّنًا لتنسيق تصحيح الأخطاء DWARF (2/3)، وتحسينات مثل الاستدعاء الذاتي النهائي ، وحذف إطارات المكدس غير الضرورية، وتحسين حذف التعبيرات الفرعية المشتركة (CSE) القائمة على السجلات . كما أُتيحت أول نسخة تجريبية من دعم البرمجة العامة (generics).
الإصدار 2.4.x
كانت سلسلة إصدارات 2.4.x أقل وضوحًا في أهدافها مقارنةً بالإصدارات السابقة. تم تأجيل إعادة كتابة نظام الوحدات مرة أخرى، وتم إنشاء الفرع الذي أصبح الإصدار 2.4 للاحتفاظ بالتعديلات المحفوفة بالمخاطر من الإصدار 2.2 بهدف استقراره. كانت هذه التعديلات المحفوفة بالمخاطر في الغالب عبارة عن تحسينات أكثر تعقيدًا للمنصات الجديدة، مثل Mac PowerPC 64 وMac x86-64 وiPhone، بالإضافة إلى العديد من الإصلاحات لبنيتي ARM وx86-64 بشكل عام، وكذلك DWARF.
وشملت التحسينات الأخرى للمترجم تحسين البرنامج بالكامل (WPO) وإلغاء المحاكاة الافتراضية ودعم واجهة التطبيقات الثنائية المضمنة ARM (EABI).
لاحقًا، خلال دورة الإصدار 2.2، أُضيفت آلية دعم موارد تُشبه آلية دلفي (تعتمد على أقسام خاصة في الملف التنفيذي بدلًا من ثوابت باسكال). هذه الميزة، التي كانت لازاروس في أمسّ الحاجة إليها، أصبحت أبرز ما يُميّز هذا الفرع.
وشملت الإضافات الأخرى الأقل أهمية مدير الذاكرة الذي حسّن أداء مدير الكومة في البيئات متعددة الخيوط ، وتحسينات طفيفة في توافق دلفي مثل OleVariant، وتحسينات في تفويض الواجهة .
في الأول من يناير 2010، تم إصدار Free Pascal 2.4.0، تبعه في 13 نوفمبر 2010 إصدار تصحيح الأخطاء 2.4.2، مع دعم for..inالحلقات sealedوالفئات abstractوتغييرات أخرى. [ 2 ]
الإصدار 2.6.x
في يناير 2012، صدرت نسخة Free Pascal 2.6. دعمت هذه النسخة الأولى من سلسلة إصدارات 2.6 لغة Objective Pascal على نظامي التشغيل OS X و iOS ، وتضمنت العديد من التحسينات الطفيفة وإصلاحات الأخطاء. في فبراير 2013، صدرت نسخة FPC 2.6.2، والتي احتوت على إصدارات NetBSD و OpenBSD لأول مرة منذ الإصدار 1.0.10، استنادًا إلى منافذ جديدة. في مارس 2014، أُطلقت النسخة الأخيرة من سلسلة 2.6، وهي 2.6.4، والتي تضمنت تحديثات لقاعدة البيانات (fcl-db) بشكل أساسي.
الإصدار 3.0.x
تم إصدار النسخة 3.0.0 في 25 نوفمبر 2015، وكانت أول إصدار رئيسي منذ 1 يناير 2012. وقد قدمت العديد من ميزات اللغة الجديدة. [ 3 ]
صدرت النسخة 3.0.2 في 15 فبراير 2017، وتضمنت إصلاحات للأخطاء وتحديثات طفيفة للمُصرّف. أما النسخة 3.0.4 فقد صدرت في 28 نوفمبر 2017، وتضمنت العديد من التحسينات اللغوية مقارنةً بالإصدارات السابقة، بما في ذلك رابط داخلي لملفات ELF ( ملفات تنفيذية وربط )، ودعم معمارية Arm AARCH64 لأنظمة iOS وLinux، ومنصة i8086 مُعاد إحياؤها، ومكتبات مُوسّعة، وغير ذلك الكثير.
الإصدار 3.2.x
صدر الإصدار الرئيسي التالي، الإصدار 3.2.0، في 19 يونيو 2020. وقد قدم العديد من ميزات اللغة الجديدة، بما في ذلك الإجراءات العامة، ومساحات الأسماء القياسية، والسجلات المُدارة، ووظائف موسعة للمصفوفات الديناميكية، بالإضافة إلى ظهور وحدات قياسية جديدة ودعم منصات إضافية. [ 4 ]
تم إصدار النسخة 3.2.2 في 20 مايو 2021، وهي تدعم نظام macOS على معمارية AArch64 وتسمية الخيوط. كما تتضمن إصلاحات للأخطاء وتحديثات طفيفة للمُصرّف. [ 5 ]
كان الإصدار التجريبي، FPC 3.2.4-rc1، متاحًا للاختبار في يونيو 2025. [ 6 ]
الإصدار 3.3.x
اعتبارًا من يوليو 2025 كان الإصدار التطويري 3.3.1 متاحًا للتنزيل كملف fpc.zip. [ 7 ] كان آخر عنصر في الأرشيف (باستثناء ملف يوضح تاريخ ftp.zipاستخراج العناصر) مؤرخًا في 15 سبتمبر 2023.
الأهداف
| بنية المعالج | نظام التشغيل، الجهاز | الإصدار 3.2.2 أو 3.3.1 (النسخة الرئيسية) | الإصدار 3.0.0 - 3.2.0 | الإصدار 2.6.2 | الإصدار 2.6.0 | الإصدار 2.4.4 | الإصدار 2.4.2 | الإصدار 2.4.0 | الإصدار 2.2.4 | الإصدار 2.0.x | الإصدار 1.0.x |
|---|---|---|---|---|---|---|---|---|---|---|---|
| i386 | DOS ( موسع GO32v2 ) | نعم | نعم | نعم | نعم | نعم | نعم | نعم | نعم | نعم | نعم |
| فري بي إس دي | نعم | نعم | نعم | نعم | نعم | نعم | نعم | نعم | نعم | نعم | |
| أوبن بي إس دي | نعم | نعم | نعم | لا | لا | لا | لا | لا | لا | نعم | |
| نظام التشغيل NetBSD | نعم | نعم | نعم | لا | لا | لا | لا | لا | لا | نعم | |
| لينكس | نعم | نعم | نعم | نعم | نعم | نعم | نعم | نعم | نعم | نعم | |
| نظام التشغيل macOS | نعم | نعم | نعم | نعم | نعم | نعم | نعم | نعم | لا | لا | |
| نظام التشغيل OS/2 | نعم | نعم | نعم | نعم | نعم | نعم | نعم | نعم | نعم | نعم | |
| ويندوز | نعم | نعم | نعم | نعم | نعم | نعم | نعم | نعم | نعم | نعم | |
| ويندوز سي إي | نعم | نعم | نعم | نعم | نعم | نعم | نعم | لا | لا | لا | |
| نظام التشغيل BeOS | نعم | نعم | نعم | نعم | نعم | نعم | نعم | نعم | نعم | نعم | |
| هايكو | نعم | نعم | نعم | نعم | نعم | نعم | نعم | لا | لا | لا | |
| نت وير | نعم | نعم | نعم | نعم | نعم | نعم | نعم | نعم | نعم | لا | |
| سولاريس | نعم | نعم | نعم | نعم | نعم | نعم | لا | لا | لا | نعم | |
| شريحة آيفون | نعم | نعم | نعم | نعم | لا | لا | لا | لا | لا | لا | |
| نيوترينو QNX | نعم | لا | لا | لا | لا | لا | لا | لا | لا | نعم | |
| أندرويد | نعم | نعم | نعم | لا | لا | لا | لا | لا | لا | لا | |
| آروس | نعم | نعم | لا | لا | لا | لا | لا | لا | لا | لا | |
| x86-64 | فري بي إس دي | نعم | نعم | نعم | نعم | نعم | نعم | لا | لا | لا | لا |
| أوبن بي إس دي | نعم | نعم | نعم | مجهول | مجهول | مجهول | مجهول | مجهول | مجهول | مجهول | |
| نظام التشغيل NetBSD | نعم | نعم | نعم | مجهول | مجهول | مجهول | مجهول | مجهول | مجهول | مجهول | |
| لينكس | نعم | نعم | نعم | نعم | نعم | نعم | نعم | نعم | مجهول | لا | |
| نظام التشغيل macOS | نعم | نعم | نعم | نعم | نعم | نعم | نعم | لا | لا | لا | |
| ويندوز | نعم | نعم | نعم | نعم | نعم | نعم | نعم | لا | لا | لا | |
| شريحة آيفون | نعم | نعم | نعم | نعم | لا | لا | لا | لا | لا | لا | |
| آروس | نعم | نعم | نعم | نعم | نعم | نعم | لا | لا | لا | لا | |
| دراجون فلاي بي إس دي | نعم | نعم | نعم | نعم | نعم | نعم | لا | لا | لا | لا | |
| سولاريس | نعم | نعم | نعم | نعم | نعم | نعم | لا | لا | لا | لا | |
| هايكو | نعم | نعم | لا | لا | لا | لا | لا | لا | لا | لا | |
| أندرويد | نعم | نعم | لا | لا | لا | لا | لا | لا | لا | لا | |
| ذراع | نظام التشغيل iOS | نعم | نعم | نعم | نعم | نعم | نعم | نعم | لا | لا | لا |
| جيم بوي أدفانس | نعم | نعم | نعم | نعم | نعم | نعم | نعم | لا | لا | لا | |
| نينتندو دي إس | نعم | نعم | نعم | نعم | نعم | نعم | نعم | لا | لا | لا | |
| لينكس | نعم | نعم | نعم | نعم | نعم | نعم | نعم | نعم | مجهول | لا | |
| ويندوز سي إي | نعم | نعم | نعم | نعم | نعم | نعم | نعم | نعم | مجهول | لا | |
| أندرويد | نعم | نعم | نعم | لا | لا | لا | لا | لا | لا | لا | |
| مغروس | نعم | نعم | نعم | لا | لا | لا | لا | لا | لا | لا | |
| راسبيري باي المدمج | نعم | نعم | لا | لا | لا | لا | لا | لا | لا | لا | |
| آروس | نعم | نعم | لا | لا | لا | لا | لا | لا | لا | لا | |
| AArch64 | لينكس | نعم | نعم | نعم | لا | لا | لا | لا | لا | لا | لا |
| نظام التشغيل iOS | نعم | نعم | نعم | لا | لا | لا | لا | لا | لا | لا | |
| أندرويد | نعم | نعم | لا | لا | لا | لا | لا | لا | لا | لا | |
| نظام التشغيل macOS | نعم | لا | لا | لا | لا | لا | لا | لا | لا | لا | |
| AVR | مغروس | نعم | نعم | لا | لا | لا | لا | لا | لا | لا | لا |
| باور بي سي | لينكس | نعم | نعم | نعم | نعم | نعم | نعم | نعم | نعم | نعم | لا |
| نظام التشغيل macOS | نعم | نعم | نعم | نعم | نعم | نعم | نعم | نعم | نعم | لا | |
| نظام التشغيل ماك الكلاسيكي | نعم | نعم | نعم | نعم | نعم | لا | لا | نعم | نعم | لا | |
| AmigaOS 4 | نعم | نعم | نعم | نعم | نعم | مجهول | مجهول | مجهول | نعم | لا | |
| مورفوس | نعم | نعم | نعم | نعم | نعم | مجهول | مجهول | مجهول | نعم | لا | |
| نظام التشغيل AIX | نعم | نعم | نعم | نعم | لا | لا | لا | لا | لا | لا | |
| وي | نعم | نعم | نعم | نعم | نعم | لا | لا | لا | لا | لا | |
| باور بي سي 64 بت | لينكس | نعم | نعم | نعم | نعم | نعم | نعم | نعم | نعم | لا | لا |
| نظام التشغيل macOS | نعم | نعم | نعم | نعم | نعم | نعم | نعم | لا | لا | لا | |
| نظام التشغيل AIX | نعم | نعم | نعم | نعم | لا | لا | لا | لا | لا | لا | |
| سبارك | سولاريس | نعم | نعم | نعم | نعم | نعم | نعم | لا | لا | لا | لا |
| نظام التشغيل NetBSD | نعم | نعم | نعم | نعم | نعم | نعم | لا | لا | لا | لا | |
| مغروس | نعم | نعم | نعم | نعم | نعم | نعم | لا | لا | لا | لا | |
| لينكس | نعم | نعم | نعم | نعم | نعم | نعم | لا | لا | لا | لا | |
| SPARC64 | لينكس | نعم | نعم | نعم | نعم | لا | لا | لا | لا | لا | لا |
| RISC-V | مغروس | نعم | نعم | لا | لا | لا | لا | لا | لا | لا | لا |
| RISC-V64 | مغروس | نعم | نعم | لا | لا | لا | لا | لا | لا | لا | لا |
| آلة جافا الافتراضية | جافا | نعم | نعم | لا | لا | لا | لا | لا | لا | لا | لا |
| أندرويد | نعم | نعم | لا | لا | لا | لا | لا | لا | لا | لا | |
| نظام MIPS (BE و LE) | لينكس | نعم | نعم | لا | لا | لا | لا | لا | لا | لا | لا |
| مغروس | نعم | نعم | لا | لا | لا | لا | لا | لا | لا | لا | |
| 8086 (16 بت) | دوس | نعم | نعم | لا | لا | لا | لا | لا | لا | لا | لا |
| ويندوز 16 | نعم | نعم | لا | لا | لا | لا | لا | لا | لا | لا | |
| مغروس | نعم | نعم | لا | لا | لا | لا | لا | لا | لا | لا | |
| m68k | لينكس | نعم | نعم | لا | لا | لا | لا | لا | لا | لا | نعم |
| نظام التشغيل NetBSD | نعم | نعم | لا | لا | لا | لا | لا | لا | لا | نعم | |
| نظام التشغيل AmigaOS | نعم | نعم | لا | لا | لا | لا | لا | لا | لا | نعم | |
| أتاري TOS | نعم | نعم | لا | لا | لا | لا | لا | لا | لا | نعم، مُترجم متقاطع محدود فقط | |
| نظام التشغيل بالم | نعم | نعم | لا | لا | لا | لا | لا | لا | لا | مجهول | |
| Z80 | مغروس | نعم | لا | لا | لا | لا | لا | لا | لا | لا | لا |
| زد إكس سبكتروم | نعم | لا | لا | لا | لا | لا | لا | لا | لا | لا | |
| MSX-DOS | نعم | لا | لا | لا | لا | لا | لا | لا | لا | لا | |
| WebAssembly | متصفحات الويب | نعم | لا | لا | لا | لا | لا | لا | لا | لا | لا |
يدعم Free Pascal أيضًا توليد رمز البايت لآلة جافا الافتراضية (JVM) بدءًا من الإصدار 3.0.0، ويستهدف كلاً من جافا من أوراكل وآلة جافا الافتراضية لنظام أندرويد من جوجل، [ 8 ] على الرغم من أن صيغة Object Pascal غير مدعومة بالكامل. يدعم Free Pascal 3.0.0 أيضًا منصات ARMHF مثل Raspberry Pi ، بما في ذلك ARMV6-EABIHF الذي يعمل على Raspbian. وقد أدى العمل على معالجات ARM 64 بت إلى دعم نظام iOS في الإصدار 3.0.0 أيضًا. تمت إضافة هدف ARM أصلي لنظام أندرويد، مما أنهى الحاجة إلى هدف ARM Linux الذي كان يُستخدم سابقًا لتوليد مكتبات ARM أصلية لنظام أندرويد. هذا يُسهّل نقل تطبيقات Lazarus إلى أندرويد (باستخدام واجهة الرسم المخصصة [ 9 ] ). منذ FPC 2.6.2، أصبح OpenBSD و NetBSD مدعومين على معماريتي IA32 وX86_64. تمت إضافة هدف جديد مُدمج للاستخدام بدون نظام تشغيل (ARM Cortex M وMIPS بشكل أساسي). باستخدام InstantFPC، من الممكن تشغيل برامج Pascal، التي تتم ترجمتها في الوقت المناسب، كبرامج نصية Unix أو كخلفية CGI .
Ultibo core هي بيئة تطوير مضمنة أو مباشرة على جهاز Raspberry Pi. [ 10 ] تعتمد Ultibo على لغة Free Pascal، وقد طُوّرت باستخدام نسخة مُعدّلة من Lazarus. بيئة التطوير المتكاملة (IDE) مُصممة لأجهزة الكمبيوتر الشخصية، ولكن تم نقلها أيضًا إلى أنظمة Linux وMac. Ultibo بيئة تشغيل مستقلة عن نظام التشغيل، وتدعم معظم الوظائف، وتتيح للمبرمج تحكمًا كاملًا في المكونات المادية عبر وحدات RTL. تُنفّذ بيئة التشغيل تعدد المهام الاستباقي متعدد الخيوط. يمكن للمبرمج وضع الخيوط على وحدة معالجة مركزية مُحددة، أو ترك بيئة التشغيل تُقسّم الحمل تلقائيًا، أو مزيجًا من الاثنين. تدعم Ultibo معظم طرازات Raspberry Pi، بما في ذلك A وB وA+ وB+، بالإضافة إلى Raspberry Pi 2B و3B و4B/400/CM4 وZero. [ 11 ]
بيئات التطوير المتكاملة
مثل معظم المترجمات الحديثة، يمكن استخدام Free Pascal مع بيئة تطوير متكاملة (IDE). بالإضافة إلى بيئات التطوير المتكاملة المستقلة، توجد أيضًا إضافات للعديد من بيئات التطوير المتكاملة الموجودة.

- لازاروس هي بيئة التطوير المتكاملة (IDE) الأكثر شيوعًا بين مبرمجي فري باسكال. تشبه في مظهرها ووظائفها بيئة دلفي، ويمكن استخدامها لإنشاء تطبيقات سطر الأوامر والتطبيقات الرسومية ، وخدمات ويندوز ، والبرامج الخدمية ، وتطبيقات الويب . توفر لازاروس إطار عمل لواجهة المستخدم متعدد المنصات، يُسمى مكتبة مكونات لازاروس (LCL). يمكن نقل التطبيقات الرسومية المُنشأة باستخدام LCL إلى منصة أخرى عبر إعادة التجميع أو التجميع المتقاطع .

- MSEide+MSEgui بيئة برمجة مرئية تستخدم مُصرّف Free Pascal. تتألف من مكتبة مكونات MSEgui المرئية ومحرر نماذج MSEide ومحرر شفرة المصدر. على عكس مشاريع أخرى، مثل مشروع Lazarus، لا يركز MSE على التوافق مع مكتبة Delphi VCL، مما يُسهّل عملية التطوير ويُقلّل من التعقيد في بعض الحالات. تتضمن ميزاته مُصحّح أخطاء مُدمج، وتمييز بناء الجملة، وإكمال حقول الفئات، والتنقل بين أجزاء الشفرة، ومولد تقارير، وغيرها.

- يحتوي Free Pascal على بيئة تطوير متكاملة (IDE) خاصة به تعمل بنظام النص، تشبه بيئة Turbo Pascal. تم تطويرها باستخدام إطار عمل Free Vision (المضمن أيضًا في Free Pascal)، وهو نسخة طبق الأصل من Turbo Vision. بالإضافة إلى العديد من ميزات بيئة Turbo Pascal، توفر Free Pascal ميزة الإكمال التلقائي للتعليمات البرمجية ودعمًا لتنسيقات ملفات المساعدة المتعددة (HTML، وملف مساعدة HTML المُجمّع من Microsoft (CHM)، وملف عرض المعلومات (IPF)). وبدلًا من استخدام أدوات سطر الأوامر، تستخدم بيئة التطوير مُجمّعًا مُدمجًا خاصًا بها، يعتمد على نفس مصدر مُجمّع سطر الأوامر ومُصحّح الأخطاء (باستخدام libgdb أو GDBMI) لتوفير وظائفها.
- Dev-Pascal هو بيئة تطوير متكاملة مجانية لنظام التشغيل Windows فقط لـ Free Pascal و GNU Pascal ، ولم يتم تطويرها بعد إصدار 2004 FPC وإصدار 2005 GPC.
المكتبات المجمعة
إلى جانب المترجم وبيئة التطوير المتكاملة، توفر لغة فري باسكال المكتبات التالية:
- مكتبة وقت تشغيل باسكال المجانية (RTL): مكتبة وقت تشغيل أساسية منخفضة المستوى لمهام البرمجة العامة
- مكتبة المكونات المجانية (FCL): مكتبة مكونات برمجية عالية المستوى لمهام البرمجة العامة
أمثلة على البرامج المنتجة باستخدام لغة فري باسكال
- Beyond Compare هو برنامج لمقارنة البيانات لأنظمة ويندوز، وماك أو إس إكس، ولينكس. تم تجميع إصدارات لينكس وماك أو إس إكس باستخدام Lazarus/FPC.
- Cartes du Ciel هو برنامج مجاني لعرض القبة السماوية لأنظمة لينكس، وماك أو إس إكس، وويندوز. يقوم البرنامج برسم خرائط وتسمية معظم الأبراج والكواكب والأجرام السماوية المرئية بالتلسكوب. تمت كتابته بالكامل بلغة Lazarus/FPC، وتم إصداره بموجب رخصة GPL.
- برنامج Cheat Engine هو برنامج مجاني، مملوك لشركة، ومتاح المصدر، لفحص الذاكرة، وتحرير الملفات الثنائية، وتصحيح الأخطاء. يمكن استخدامه للغش في ألعاب الكمبيوتر. منذ الإصدار 6.0، يتم تجميعه باستخدام Lazarus/FPC.
- Double Commander هو مدير ملفات تقليدي مفتوح المصدر ومتعدد المنصات ذو لوحتين، مستوحى من برنامج Total Commander الذي يعمل فقط على نظام التشغيل Microsoft Windows.
- تمت كتابة Free Pascal بلغة Object Pascal ولغة التجميع، وتم تجميعها ذاتيًا.
- HNSKY ، أو Hallo Northern Sky، هو برنامج مجاني لعرض القبة السماوية لأنظمة ويندوز ولينكس. منذ الإصدار 3.4.0، تمت كتابته وتجميعه باستخدام Lazarus/FPC.
- لازاروس : حزمة برمجية شبيهة بلغة دلفي تابعة لـ Free Pascal لتطوير التطبيقات الرسومية بسرعة.
- مورفيك : يستخدم برنامج Morfik WebOS AppBuilder لغة Free Pascal لإنتاج ملفات CGI الثنائية.
- MyNotex هو برنامج مجاني لتدوين الملاحظات وإدارتها لنظام التشغيل Linux.
- تم تطوير الإصدارات المبكرة من مترجم Nim في Free Pascal، قبل أن يصبح الاستضافة الذاتية في Nim. [ 12 ]
- PeaZip هو برنامج أرشفة مفتوح المصدر، تم إنشاؤه باستخدام Lazarus/FPC.
- يتم الآن إعادة كتابة برنامج TorChat ، الذي كان مكتوبًا سابقًا بلغة بايثون، باستخدام لغة Free Pascal و Lazarus.
انظر أيضاً
- مجموعة أدوات fpGUI Free Pascal لواجهات المستخدم الرسومية - مجموعة أدوات متعددة المنصات وقابلة للتخصيص، مُنفذة بلغة Object Pascal
مراجع
- ↑ bugs.freepascal.org
- ↑ تغييرات المستخدم 2.4.2
- ↑ "ميزات جديدة في FPC 3.0.0" . ويكي فري باسكال . تم الاطلاع عليه بتاريخ 28 فبراير 2021 .
- ↑ "ميزات جديدة في FPC 3.2.0 - ويكي Free Pascal" . wiki.freepascal.org . تم الاطلاع عليه بتاريخ 20 يونيو 2020 .
- ↑ "ميزات جديدة في FPC 3.2.2 - ويكي Free Pascal" . wiki.freepascal.org . تم الاطلاع عليه بتاريخ 30 ديسمبر 2021 .
- ↑ "إصدار FPC 3.2.4-rc1 متوفر" . لازاروس. 23 يونيو 2025.
- ↑ "التطوير" . فري باسكال . تم الاسترجاع في 23 يوليو 2025 .
- ↑ ويكي فري باسكال: FPC JVM
- ↑ واجهة مصممة خصيصًا
- ↑ "مكتبة وقت التشغيل المضمنة من Ultibo" . Ultibo.org . Ultibo.
- ↑ "لوحات Raspberry Pi المدعومة من Ultibo" . Ultibo.org.
- ↑ "مصدر Nim Pascal" . GitHub .
روابط خارجية
المواقع الرسمية
- الموقع الرسمي لـ FPC

- الموقع الرسمي لـ Lazarus RAD IDE
مقدمة عامة
- الوثائق الرسمية
- مقدمة في لغة أوبجكت باسكال الحديثة للمبرمجين - بقلم ميخاليس كامبوريلس
مواقع متخصصة في تطوير الألعاب
- تطوير الألعاب باستخدام لغة باسكال
- مجلة باسكال غيمر
- برنامج تعليمي شامل لبرمجة الألعاب على جهاز جيم بوي أدفانس باستخدام لغة فري باسكال (FPC 4 GBA)
- فري باسكال
- برامج نظام التشغيل ماك الكلاسيكية
- المترجمون
- برامج مجانية متعددة المنصات
- برامج متعددة المنصات
- مترجمات مجانية ومفتوحة المصدر
- برنامج مجاني مكتوب بلغة باسكال
- أدوات برمجة لينكس
- أدوات برمجة نظام التشغيل MacOS
- برنامج مورف أو إس
- لغات البرمجة الكائنية التوجه
- باسكال (لغة برمجة)
- مترجمات لغة البرمجة باسكال
- عائلة لغات البرمجة باسكال
- برنامج مبرمج بلغة باسكال
- تطوير حساس للمنصة
- أدوات البرمجة لنظام التشغيل ويندوز
- برامج الاستضافة الذاتية
- برنامج يستخدم رخصة جنو العمومية العامة
- برنامج سولاريس
- لغات برمجة الأنظمة
