لغة البرمجة “ماري” (Mary) كانت إحدى اللغات التي صممها ونفذها RUNIT في تروندهايم، النرويج في السبعينيات من القرن الماضي. استلهمت العديد من ميزاتها من ALGOL 68 ولكن تم تصميمها للبرمجة الموجهة للجهاز. كانت ميزة غير عادية في بناء الجمل في بناء الجمل الخاص بها هي أن التعابير كانت تُنشأ باستخدام المشغلات التحويلية التقليدية، ولكن كانت لديها نفس الأولوية وتم التقييم من اليسار إلى اليمين ما لم تكن هناك أقواس. كانت الجهة المرسلة للقيمة في الجانب الأيمن في عملية الإسناد، واعتبرت الإسناد مجرد مشغل آخر. على غرار C، يبدو أن هناك عدة ميزات للغة كانت موجودة لتسمح للمبرمجين بإنتاج كود مُحسَّن بشكل جيد على الرغم من مولد الكود البدائي نسبياً في المترجم. ومن بين هذه الميزات، المشغلات المماثلة ل+= في C وتصريحات السجل الصريحة للمتغيرات. من الميزات الملحوظة: “بناء الجمل بتدفق البيانات” – القيم تتدفق من اليسار إلى اليمين، بما في ذلك الإسناد. يمكن استخدام معظم البناء في التعابير (المجموعات، والشروط، وما إلى ذلك). الماكروهات النصية القائمة على التكرار. المشغلات المُعرفة بواسطة المستخدم المحمولة، دون قيود على المعرفات المحددة مسبقاً كما في C++. بناء وفك تسلسل العناوين من سياق النوع تلقائيًا. أنواع النطاقات الجزئية. تعداد الأجرام والمجموعات في معالجات الحلقات. وصف أجرام ديناميكية (ROW). تم طبع كتاب يصف لغة ماري في عام 1974 (الطبعة الرابعة والأخيرة في عام 1979): Mary Textbook من تأليف Reidar Conradi & Per Holager. تم إنشاء مترجمات لكونغسبرج فابنفابريك SM-4 و Norsk Data Nord-10/ND-100 mini-computers. كان مترجم ماري الأصلي مكتوبًا في NU ALGOL، وكان يعمل على سلسلة Univac-1100 وكان يستخدم لبناء مترجم أصلي لـ ND-100/SINTRAN-III. قامت RUNIT بتنفيذ مترجم CHILL مكتوب بلغة ماري وكان يعمل على ND-100 وكان لديه استهدافات Intel 8086 و 80286. عندما تم تحويل هذا المترجم إلى منصة VAX، تم تنفيذ واجهة خلفية مشتركة لـ ماري و CHILL. في وقت لاحق، كانت هناك واجهات خلفية لـ i386 و SPARC متاحة. نظرًا لأن مترجم ماري تم تنفيذه بلغة ماري، كان من الممكن تشغيل المترجم على جميع هذه المنصات. الآن، لم يعد هناك صيانة لماري. تعتبر ماري واحدة من اللغات التي كانت تُستخدم في تلك الفترة الزمنية لتطوير البرمجيات ولها تاريخ مهم في تطور التكنولوجيا. لمزيد من المعلومات، يمكنك زيارة الرابط التالي: ويكيبيديا
3