مقدمة:
من المهم جدا أن نتعرف على البيئة التي سنعمل عليها قبل البدء في الدروس الفعلية للبرمجة.. هذا سيساعدني كثيرا على شرح لغة Lisp وأنا مطمئنة بأنكم ستستطيعون تطبيق الدروس والتعامل مع الأكواد بأفضل وجه ممكن.
قد تصادفون بعض الأكواد التي استخدمتها للتطبيق على بعض الأدوات، فلا تشغل بالك كثيرا بمعنى وطريقة كتابة الكود، لأنني واثقة بأنها ستكون مفهومة لك بإذن الله في الدروس القادمة بإذن الله والتي ستشرح لك بالتفصيل هذه اللغة الجميلة والذكية بحق!
كل ما أريده منك الآن أن تكتسب من هذه الدروس بعض الخبرات والمهارات وأن تتعرف وتعتاد على شكل بيئة LispWorks التي ستعمل عليها، وسيكون للبرمجة نصيب الأسد في السلسلة القادمة من الدروس بإذن الله .
سنتعرف في هذا الدرس على الأدوات المتخصصة داخل برنامج LispWorks..
لماذايهمنا معرفة هذه الأدوات؟
لأن هذه الأدوات تعمل على توفير بيئة مناسبة لإنشاء وتطوير الأكواد باستخدام لغة Common Lisp.
كيف سنصل لهذه الأدوات؟
يمكنك اختيار أي أداة من هذه الأدوات للعمل عليها من القائمة Tools.

والآن سنتناول أهم الأدوات الموجودة في القائمة أعلاه :
(1) - The listener

من أهم الأدوات التي يوفرها LispWorks وهذه الأداة مصممة خصيصا لاختبار الكود الذي تكتبه أولا بأول دون الحاجة لعمل ترجمة Compilation أو تقدير وتقييم Evaluation للكود ككل.
وتظهر هذه الأداة بمجرد تشغيل برنامج LispWorks.
(2) - The editor
محرر نصوص مبني داخل برنامج LispWorks ليساعدك على بناء أكوادك وبرامجك باستخدام لغة Common Lisp.
هذا المحرر مزود بعدد كبير جدا من الدوال المصممة خصيصا لكي تساعدك على:
(3) - The class browser

هذه الأداة تتيح لك اختبار الفئات Classes المكتوبة باستخدام لغة Common Lisp والتي تم تعريفها داخل برنامجك.
تستطيع عن طريق هذه الأداة مشاهدة الفئات العلوية superclasses والفئات الفرعية subclasses لكلاس معين كما يمكنك مشاهدة العلاقات Relationships الموجودة فيما بينهم.
بالإضافة إلى أنه يمكنك عن طريق هذه الأداة اختبار الدوال functions والطرق methods الموجودة داخل كلاس معين.
(4) - The output browser
هذا المستعرض يجمع ويعرض جميع المخرجات التي تنتج من البيئة التي تعمل عليها، فإذا كنت تعمل مثلا على الـListener والـText Editor في نفس الوقت، فان الـ Output Browser سيعرض مخرجات ونتائج كليهما.
ويتضمن ذلك رسائل التحذير والخطأ التي تظهر أثناء عمل ترجمة Compilation للكود، وكذلك كما تلاحظ في الصورة تتضمن النافذة المخرجات التي تنتج من تتبع مسار الدوال التي استخدمت خلال بيئة العمل على LispWorks.
مع ملاحظة أن معظم الأدوات الأخرى وأهمها الـText Editor و الـ Listener تحتوي على مستعرض للمخرجات التي تنتج من استخدام الأداة نفسها.
(5) - The inspector
تتيح لك هذه الأداة اختبار وتعديل محتويات كائنات Common Lisp.
هذه الأداة لا تقدر بثمن :) ولها فوائد كبيرة جدا خلال تطوير وبناء برامجك، حيث تتيح للمبرمج فحص واختبار أي جزء من البيانات أثناء مرحلة التنفيذ.
ويمكن أيضا الإطلاع على أو تعديل قيم أي جزء من هذه البيانات إذا دعت الضرورة إلى ذلك أو تعديل قيم البيانات من أجل اختبار التأثيرات التي تنتج من هذه القيم، وذلك تفاديا لإحداث أي تغيرات في الكود الأصلي Source Code قبل تجربتها.
(6) - The shell tool
أداة شل تسمح لك بإعادة تسمية أو نسخ الملفات وكذلك بعض العلميات التي يقوم بها نظام التشغيل على هذه الملفات من خلال بيئة LispWorks.
(7) - The grep browser
يستخدم مستعرض قرب من أجل البحث عن الملفات التي تحتوي على أشياء محددة في الفهرس الحالي الذي نعمل عليه.
(8) - The object clipboard
تستخدم هذه الأداة لإدارة العديد من الكائنات المنسوخة.
وكمثال لنسخ أحد كائنات Lisp إلى هذه الأداة، يتم إتباع الخطوات التالية:
-
قم بعمل تقييم وتقدير Evaluation لأحد التعبيرات الرياضية المكتوبة بلغة Lisp.
خذ المثال البسيط التالي لإضافة 10 إلى 10، الموجود بالصورة:
-
أمام علامة الاستعداد Prompt الخاص بـ LispWorks اكتب علامة النجمة * ولا تضغط على مفتاح Enter.
-
استخدم الفأرة لتظليل علامة النجمة الموجودة في نافذة الـ Listener، كما بالصورة:

-
من القائمة Works --> اختر Values --> ثم Clip

-
والآن قم بفتح أداة Object Clipboard من قائمة أدوات Tools وستجد أن ناتج التعبير الحسابي أي حاصل الجمع 20 تم الاحتفاظ به فيها.

تلميحة :
يمكن الوصول لأي أداة من هذه الأدوات من شريط الأدوات Tools كما هو واضح من الصورة:
