قارئ لغة الليسب

في لغة البرمجة Lisp ، يكون القارئ أو readالدالة هو المحلل الذي يحول الشكل النصي لكائنات Lisp إلى بنية الكائن الداخلية المقابلة.

في لغة ليسب الأصلية، كانت تعابير S تتكون فقط من الرموز والأعداد الصحيحة ودوال إنشاء القوائم . أما لغات ليسب اللاحقة، والتي بلغت ذروتها في لغة Common Lisp ، فقد أضافت قيمًا حرفية للأعداد العشرية والمركبة والنسبية، بالإضافة إلى السلاسل النصية ودوال إنشاء المتجهات.( xi... )(x . y)

يتحمل القارئ مسؤولية تحليل بنية القائمة، وتخزين الرموز، وتحويل الأرقام إلى شكل داخلي، واستدعاء وحدات الماكرو للقراءة.

جدول القراءة

يتم التحكم في القارئ بواسطة readtable، الذي يحدد معنى كل حرف .

قراءة وحدات الماكرو

على عكس معظم لغات البرمجة، تدعم لغة ليسب تنفيذ البرامج أثناء تحليلها، ويُطلق على هذه العملية "وحدات ماكرو القراءة". تُستخدم هذه الوحدات لتوسيع بنية اللغة بطرق عامة أو خاصة بكل برنامج. على سبيل المثال، يمكن اختصار عامل الاقتباس إلى . يمكن تعريف هذا العامل كوحدة ماكرو قراءة تقرأ القائمة التالية وتُغلّفها بـ . وبالمثل، يمكن تعريف عامل الاقتباس المائل (`) كوحدة ماكرو قراءة.(quote x)'x'quote

مراجع

فهرس

  • جون مكارثي وآخرون ، دليل مبرمج LISP 1.5 ، مطبعة معهد ماساتشوستس للتكنولوجيا، 1962.
  • ديفيد أ. مون ، دليل مرجعي لبرنامج ماكليسب ، 1974.
  • جاي ستيل ، لغة ليسب الشائعة: اللغة ، الطبعة الثانية، 1990.