أس/أس أل (لغة برمجة)
أس/أس أل (S/SL) اختصار لـSyntax/Semantic Language أي الغة بناء الجملة/الدلالية هي لغة برمجة عالية المواصفات لالترميز التكراري النموذجي، تحليل الدلالات، ومولدات الكود المطوره من قبل جيمس كوردي، ريك هولت، وديفيد ورتمان في جامعة تورنتو عام 1980.[1]
أس/أس أل عبارة عن لغة برمجة صغيرة تدعم الاستدعاء الذاتي الرخيص وتعرف المدخلات، مخرجات، وأسماء رموز الخطاء (قيم &)، وآليات الدلالية (واجهات التصنيفات والتي عملياتها تهرب إلى إجرائات في مستضيف لغة البرمجة وتسمح بإزالة جيدة للكود الزائف) وبرامج الكود الزائف (pseudo-code) التي تعرف بناء الجملة للغة المدخلات من خلال رموز متتالية يقبلها البرنامج. ويعتبر مراقب التدفق ومنشئ one-symbol look-ahead جزء من اللغة.
يترجع معالج أس/أس أل الكود الزائف إلى جداول (بايت كود) ويتم تفسيرها من قبل جدول ووكر للأس/أس أل (مترجم). تعالج لغة الكود الزائف لغة المدخلات في LL(1) بنمط تكراري نسبي لكن الملحقات تسمح لها بمعالجة أي لغة مجزئ يسار يمين بسهولة.[2] تم تصميم أس/أس أل لمعالجة وإصلاح الأخطاء في بناء الجملة بشكل ممتاز. فهي أقوى وأكثر شفافية من ياك (Yacc) لكنها أبطاء.
الآلات الدلالية لأس/أس أل توسع قدرتها لجمع مراحل الترجمة، واستخدمت لتطبيق جميع مراحل الترجمة، بما في ذلك الماسح (scanners) الموزع (parsers)، المحللات الدلالية (semantic analyzers)، مولدات الكود (code generators)، والمترجم الافتراضي (virtual machine interpreters) في معالجات لغات الـ.[3]
أستخدمت أس/أس أل في إنتاج عدد من المترجمات (compilers) التجارية للغات مثل PL/I, Euclid, Turing, Ada, and COBOL, بالإضافة إلى إنتاج المترجمات الفورية (interpreters)، معالجات الأوامر (command processors)، ونطاقات لغات معينة (domain specific languages) في كثير من الأنواع. وهي التقنية الأساسية المستخدمة في حاسبات IBM's ILE/400 COBOL،[4] واستخدم ناقل البريد ZMailer أس/أس أل لتتعريف لغة جهاز توجية البريد[5] (mail router processing) وRFC 822 صحة عنوان البريد الإلكتروني (email address validation).
المراجع
[عدل]- ^ J. R. Cordy, R. C. Holt and D. B. Wortman, "S/SL: Syntax/Semantic Language - Introduction and Specification, Technical Report CSRG-118, Computer Systems Research Group, University of Toronto, Sept. 1980
- ^ D.T. Barnard and J.R. Cordy, "SL Parses the LR Languages", Computer Languages 13,2 (April 1988), pp. 65-74 نسخة محفوظة 26 يناير 2020 على موقع واي باك مشين.
- ^ Richard C. Holt, James R. Cordy and David B. Wortman, "An Introduction to S/SL: Syntax/Semantic Language", ACM Transactions on Programming Languages and Systems 4,2 (April 1982) نسخة محفوظة 26 يناير 2020 على موقع واي باك مشين.
- ^ Ian H. Carmichael and Stephen Perelgut. S/SL revisited. Proc. CASCON'95, Conference of the Centre for Advanced Studies on Collaborative Research, Toronto, Canada, November 1995 نسخة محفوظة 26 يناير 2020 على موقع واي باك مشين.
- ^ ZMailer the Manual, نسخة محفوظة 25 يونيو 2018 على موقع واي باك مشين.