لغات البرمجة

لغة برمجة S/SL: نظرة شاملة

لغة البرمجة S/SL (Syntax/Semantic Language) هي لغة تخصيص عالية المستوى وقابلة للتنفيذ، تم تطويرها في جامعة تورنتو عام 1980 من قبل جيمس كوردي، ريك هولت، وديفيد وورتمان. تُستخدم S/SL في بناء محللات تركيبية تنزيلية متكررة، ومحللات دلالية، ومُنشئات رموز.

تعتبر S/SL لغة برمجة صغيرة تدعم الاستدعاء المتكرر بتكلفة منخفضة وتحدد أسماء الرموز للمدخلات والمخرجات والأخطاء (وقيمها)، وآليات دلالية (واجهات الفئة التي تكون أساليبها فعلياً هروبًا إلى روتينات في لغة برمجة مضيفة لكنها تسمح بالتجريد الجيد في رمز التناقض)، وبرنامج رمز وهمي يحدد بناء لغة المدخلات من خلال تيار الرموز الذي يقبله البرنامج.

تشمل ميزات اللغة التبادل، وتدفق التحكم، وهياكل التنبؤ برمز واحد. يقوم معالج S/SL بترجمة هذا البرنامج الوهمي إلى جدول (بايت كود) يتم تفسيره بواسطة متجول جدول S/SL (مترجم). يقوم لغة البرمجة الوهمية بمعالجة لغة المدخلات بنمط الانحدار التنزيلي LL(1) ولكن تتيح التوسعات لها معالجة أي لغة LR(k) بسهولة نسبية.

صُممت S/SL لتوفير استرداد وإصلاح الأخطاء النحوية بشكل ممتاز. إنها أكثر قوة وشفافية من Yacc ولكن قد تكون أبطأ. توسعات “آليات الدلالة” في S/SL تعزز قدراتها على جميع مراحل الترجمة، وقد تم استخدامها لتنفيذ جميع مراحل الترجمة، بما في ذلك الماسحات الضوئية، والمحللات التركيبية، ومحللات الدلالة، ومُنشئات الرموز، ومترجمات الآلات الافتراضية في معالجات اللغات متعددة المراحل.

تم استخدام S/SL لتنفيذ مترجمات تجارية إنتاجية للغات مثل PL/I، وإيكليد، وتورينغ، وآدا، وCOBOL، بالإضافة إلى مترجمات المُترجمين، ومعالجات الأوامر، ولغات المجال الخاصة من مختلف الأنواع. وتعتبر التقنية الأساسية المستخدمة في مُترجم IBM لـ ILE/400 COBOL، ويستخدم مرسل البريد ZMailer لتحديد لغة معالجته المسار ولغة التحقق من صحة عنوان البريد الإلكتروني RFC 822.

للمزيد من المعلومات، يمكنك زيارة صفحة ويكيبيديا للغة S/SL من هنا.