PL360

لغة PL360 (أو PL/360 ) هي لغة برمجة أنظمة صممها نيكلاوس ويرث وكتبها ويرث وجوزيف دبليو ويلز الابن وإدوين ساتيرثويت الابن لحاسوب IBM System/360 في جامعة ستانفورد . نُشر وصفٌ للغة PL360 في أوائل عام 1968، على الرغم من أن تنفيذها ربما اكتمل قبل مغادرة ويرث لجامعة ستانفورد عام 1967. [ 1 ]

وصف

PL/360 هو مُترجم أحادي المرور ذو بنية مشابهة للغة ALGOL ، يوفر إمكانيات لتحديد تعليمات لغة الآلة (اللغة) وسجلاتها بدقة، على غرار لغة التجميع ، ولكنه يوفر أيضًا ميزات شائعة في لغات البرمجة عالية المستوى ، مثل التعبيرات الحسابية المعقدة وهياكل التحكم . استخدم ويرث PL/360 لإنشاء ALGOL W.

أنواع البيانات هي: [ 2 ] : 8

  • بايت أو حرف – 1 بايت
  • عدد صحيح قصير – بايتان، يُفسر كعدد صحيح في نظام التضمين الثنائي.
  • عدد صحيح أو منطقي – 4 بايت، يتم تفسيره كعدد صحيح في نظام الترميز الثنائي للمتمم الثنائي
  • حقيقي – 4 بايت، يُفسَّر كعدد حسابي قصير ذي فاصلة عائمة بنظام الأساس 16 ( النظام الست عشري )
  • عدد حقيقي طويل – 8 بايت، يُفسر على أنه عدد عشري طويل ذو أساس 16

يمكن أن تحتوي السجلات على أعداد صحيحة أو حقيقية أو أعداد حقيقية طويلة.

يمكن إنشاء تعليمات System/360 الفردية مباشرةً باستخدام "بيان الدالة" في PL360، والذي يُحدد التعليمات من خلال التنسيق ورمز العملية. تُسند وسائط الدالة بالتسلسل إلى الحقول الموجودة في التعليمات. ومن الأمثلة على ذلك:

تعريفمرجع
UNPK(10,#F300)UNPK(3,7,B2,worker)
EX(2,#4400)EX(R1,MVC(0,lines,buffer))ملاحظة: مرجع متداخل

مثال

R0 و R1 و R2 و FLAG هي أسماء معلنة مسبقًا .

ابدأ INTEGER BUCKET ; إذا كانت FLAG صحيحة، فابدأ BUCKET := R0 ; R0 := R1 ; R1 := R2 ; R2 := BUCKET ; انتهى وإلا، فابدأ BUCKET := R2 ; R2 := R1 ; R1 := R0 ; R0 := BUCKET ; انتهى RESET ( FLAG ) ; انتهى

تطبيق

كان ويرث في جامعة ستانفورد بين عامي 1963 و1967، وخلال الجزء الأول من ذلك كان يطور مترجم ومفسر لغة أويلر ، والتي يعود تاريخ مصادرها إلى عام 1965. وفي عام 1965 أيضًا، قامت جامعة ستانفورد بتحديث جهاز B5000 الخاص بها القائم على الذاكرة الأساسية مع تخزين أسطواني إلى جهاز B5500 قائم على الذاكرة الأساسية مع تخزين قرصي .

بما أن نظام IBM S/360 المستهدف (الذي كان من المفترض أن يحل محل نظام IBM 7090 الحالي ) لم يُثبّت حتى عام 1967، فقد كُتبت النسخة الأولية من لغة PL360 بلغة ALGOL وجُرّبت على جهاز B5500 التابع لجامعة ستانفورد. [ 3 ] بعد التأكد من عملها، أُعيدت كتابة المُصرّف بلغة PL360، وأُعيد تجميعه على نظام Burroughs، ونُقل كملف ثنائي إلى نظام S/360. [ 1 ] : 66

تمت برمجة جهاز B5500 بلغة ESPOL ( لغة الأنظمة التنفيذية الموجهة نحو حل المشكلات ) المشتقة من لغة ALGOL ، وكان الهدف من PL360 هو توفير إمكانيات مماثلة لبنية الحواسيب المركزية من IBM، على الرغم من افتقاره إلى الإمكانيات الرئيسية لكل من لغة التجميع F ولغة ESPOL. وقد تم تجاهل هذا الهدف إلى حد كبير، حيث استمر المبرمجون في استخدام تطبيقات مُجمِّعات IBM الكلية .

ومع ذلك، في أوائل السبعينيات، تم توسيع PL360 لتوفير المزيد من القدرات، وكانت لغة البرمجة المفضلة لتطوير نظام استرجاع المعلومات الفيزيائية في ستانفورد (SPIRES)، وهو نظام إدارة قواعد البيانات في ستانفورد.

انظر أيضاً

ملحوظات

  1. لكنها تفتقر إلى إمكانيات التوجيه الضمني، على سبيل المثال،USING

مراجع

  1. 1 2 ويرث، نيكلاوس (يناير 1968). "PL360، لغة برمجة لأجهزة الكمبيوتر 360" . مجلة ACM . 15 (1): 34-74 . doi : 10.1145/321439.321442 . S2CID 7376057 . 
  2. ويرث، نيكلاوس (24 ديسمبر 1965). لغة برمجة لأجهزة الكمبيوتر 360 (ملف PDF) (تقرير فني). جامعة ستانفورد. CS33.
  3. ساتيرثويت، إي. (مارس 1968). "ملاحظات حول بناء الأنظمة الفرعية ضمن نظام التشغيل/360" (ملف PDF) . ص 1. CGTM #43.