ماد (لغة برمجة)

ماد
معلومات عامة
التصنيف
التنميط
ظهرت في
1959 عدل القيمة على Wikidata
التطوير
المطور
الإصدار الأول
1959 عدل القيمة على Wikidata
التأثير
متأثرة بـ

MAD (اختصارًا لِـمفسِّر خوارزميَّة ميشيغان) (Michigan Algorithm Decoder), هي لغة برمجة ومترجم مطور في جامعة ميشيغان [1] بواسطة برنار غالير وبروس أردن بروس وروبرت جراهام University of Michigan by Bernard Galler, Bruce Arden، Robert M. Graham.

MAD/Iو MADو GOM

هناك ثلاثة تراجم لـ MAD : 1. MAD الأصلي المترجم كشف عنه في عام 1959 في جامعة ميشيغان لكمبيوتر آي بي إم 704 IBM 704و في وقت لاحق آي بي إم 709 IBM 709 وأجهزة الكمبيوتر المركزية وآي بي إم 7090 IBM 7090 mainframe من النظام التنفيذي لجامعة ميتشيغان (UMES) وأنظمة تشغيل [2][3] النظام المناسب لتقسيم الوقت (CTSS).. وفي منتصف الستينات 1960.لغة MAD استدارت في جامعة ميريلاند University of Maryland ليونيفاك 1108UNIVAC 1108.[4] إصدارات MAD كانت متوفرة أيضا لفيلكو 210-211 Philco ويونيفاك 1107 [4] UNIVAC 1107.

2. MAD/I، هو إصدار مطول من MAD لسلسلة S/360 آي بي إم IBM S/360 من أجهزة الكمبيوتر التي تعمل في منظومة محطة ميشيغان Michigan Terminal System (MTS). بدأ العمل في المترجم الجديد في عام 1965 كجزء من وكالة مشاريع البحوث المتقدمة ARPA برعاية مشروع CONCOMP في جامعة ميشيغان. عندما أحرز العمل تقدما أصبح تدريجيا واضحا أنI /MAD كانت لغة جديدة مستقلة عن الإصدار الأصلي من 7090 [5] MAD.

3. جوم GOM(ماد القديم الجيد) (Good Old MAD)، وإعادة تطبيق لـ 7090 MAD الأصلي لسلسلة آي بي إم S/370 IBM S/370 series لأجهزة الكمبيوتر المركزية لتشغيل نظام محطة ميتشيغان Michigan Terminal System (MTS). تم إنشاء جوم GOM في أوائل الثمانينات 1980 بواسطة دون بوتنر Don Boettner في مركز الحاسب الآلي بجامعة ميشيغان.[6][7]

التاريخ

MAD هي بديل للغة الدولية الخوارزمية (اللوغرتمية) International algorithmic language (IAL). IAL هو الاسم الأصلي لماذا أصبحت في نهاية المطاف ALGOL 58. في حين MAD كانت بدافع من ALGOL 58، إلى انها لا تشبه ALGOL 58 بأي شكل من الأشكال كبيرة.[8][9]

البرامج المكتوبة بلغة MAD بما فيها MAIL RUNOFF،[10] واحدة من النظم الأولى لمعالجة النصوص، والعديد من أدوات المساعدة الأخرى كلها تحت النظام المناسب لتقسيم الوقت Compatible Time-Sharing System (CTSS).[11] جرى العمل على التصميم لمترجم MAD لمالتيكس Multics، ولكن لم ينفذ.

وفيما يلي اقتباس من مقابلة مثيرة للاهتمام مع بريان كيرنيغان [12] عندما سئل: «ما سبب تعلقك بالبرمجة؟»: أجاب: أعتقد أن الأكثر متعة أني كنت اعمل بالبرمجة كوظيفة صيفية في مشروع ماك MAC في ميت MIT في صيف عام 1966، حيث عملت على إنشاء برنامج لشريط عمل لجي إي645 الجديد GE 645 في الأيام الأولى من مالتيكس Multics. كنت أكتب بلغة MAD، والتي كانت أسهل بكثير وأكثر متعة من فورتران FORTRAN وكوبول COBOL التي كنت كتبتها في وقت سابق، وكنت أستخدم CTSS، أول نظام اقتسام الوقت، والتي كان من الأسهل بلا حدود وأكثر متعة من البطاقات المثقبة punch cards.

MAD كانت سريعة جدا مقارنة ببعض برامج المترجم الأخرى في وقته. وبسبب أن كثير من الناس كانت مهتمة باستخدام لغة فورتران FORTRAN وأرادت الحصول على سرعة مترجم MAD، تم استحداث نظام مادتران MADTRAN (كتب بلغة MAD). وكان MADTRAN مجرد مترجم من فورتران FORTRAN إلى ماد MAD، والتي أنتجت وقتها شفرات ألية. ووزعت MADTRAN من خلال SHARE.

MAD/I لديها بنية لغوية مماثلة لـ ALGOL 60 مع مميزات مهمة من MAD الأصلي ومن PL/I. MAD/I مصمم كلغة موسعة. وكانت متوفرة للاستخدام في MTS، وقدمت العديد من الأفكار الجديدة التي شقت طريقها إلى لغات أخرى، ولكن مصنفات MAD/I كانت بطيئة وMAD/I لم تمدد نفسها إلى استخدام واسع النطاق بالمقارنة مع 7090 MAD الأصلي.

جوم GOM هي أساسا لغة MAD 7090 والتي مددت وتعدلت لبناء الحاسب 360/370 مع بعض الحياكة بحكمة لتتناسب مع أفضل ممارسات البرمجة والمشاكل الراهنة. ونظام رسائل MTS كان مكتوباً بجوم.

MAD ومجلة MAD ووألفريد نومان Alfred E. Neuman

خط طابعة المخرجات يتبع خطأ مترجم MAD على جهاز كمبيوتر آي بي إم 704 في جامعة ميشيغان، C. 1960 في إصدار ما قبل MAD الأصلي، وإشارة إلى أنها تحمل الاسم نفسه MAD، مجلة MAD MAD magazine، عندما كان البرنامج به أخطاء وقت الترجمة كثيرة المترجم كان يطبع الصورة على ورقة كاملة لألفريد E. نومان Alfred E. Neuman باستخدام فنASCII art. العنوان للقراءة، «انظر هذا الرجل حول البرنامج الخاص بك -- قد يرغب في نشرها –لا يخاف أبدا -- ولكن من ينظر إلى البرنامج الخاص بك، يجب عليك» هذه الميزة لم تكن مدرجة في النسخة الرسمية النهائية

ويتذكر بيرني غلر Bernie Galler : «في الوقت الذي قمنا فيه بتصميم اللغة التي اعتقدنا انها سوف تستحق القيام بها والتي تمكننا من عمل مترجم، لم نستطيع ان نسميها ALGOL، كانj حقا مختلفة. وذلك عندما اعتمدنا الاسم MAD، لجهاز فك الشفرة الخوارزمية ميشيغان. كان لدينا بعض ردود الفعل المضحكة مع مجلة ماد للناس، وعندما طلبنا للحصول على إذن لاستخدام اسم MAD. في رسالة مضحكة جدا، وقالوا لنا أنهم سوف يأخذونا للمحكمة وكل شيء آخر، ولكن انتهى التهديد مع ملاحظة في أسفل --» بالتأكيد، أمضوا قدما. «للأسف، فقدت تلك الرسالة».

مثالا «مرحبا بالعالم» "hello, world"

في «مرحبا العالم»"hello, world" البرنامج يطبع سلسلة «مرحبا بالعالم» "hello, world" إلى النهاية الطرفية لشاشة العرض.

PRINT FORMAT HELLOW
VECTOR VALUES HELLOW=$13h0Hello, world*$
END OF PROGRAM

يتم التعامل مع الحرف الأول من السطر ك حرف التحكم المنطقي، في هذا المثال حرف الصفر الذي يؤدي إلى طباعة خط مزدوج متباعد. أو، في حالة ادخال كل الكلمات الرئيسية في المثقبة بلوحة المفاتيح الخاص بك هو عمل كثير، يمكنك استخدام تقلصات والمترجم يقوم بتوسيعها في العرض:

P'T HELLOW
V'S HELLOW=$13h0Hello, world*$
E'M

عناصر اللغة

وتتألف MAD وجوم GOM، ولكن ليس MAD/I، من العناصر التالية:[3][7][8]

نسق المدخلات

برامج MAD هي سلسلة من بيانات مكتوبة على بطاقات مثقبة، في الغالب عبارة واحد للبطاقة الواحدة، رغم أنه يمكن ان تستكمل العبارة في بطاقات متعددة.

  • الأعمدة من1 إلى 10 تحتوي على تسمية عبارة اختيارية
  • العمود 11 هو العمود الملاحظة واستمرار
  • أعمدة 73و80 غير مستخدمة، ويمكن أن تحتوي على محدد التسلسل

البطاقة الأولى للعبارة فارغة أو ليس لها ثقب في البطاقة في العمود 11 وبطاقات الاستمرار تحتوي على الأرقام 0 إلى 9 في العمود 11. يتم وضع علامة على التعليقات أو الملاحظات باستخدام حرف "R" في العمود 11.

مجموعة الأحرف المعتمد عليها تتضمن الأحرف الكبيرة من Aالى Z، والأرقام من 0الى9، والعلامات، (فاصلة)، + (زائد) -- (ناقص)، '(الفاصلة العليا)، =، *، /، (،)،&، وفارغة أو مسافة. ولكن لا يدعم الاحرف الصغيرة و"(اقتباس مزدوج).

المساحات ليست مهمة في أي مكان بخلاف ما ضمن ثوابت الحرف.

كلمات رئيسية قليلة في اللغة محجوزة لأن معظم الكلمات أطول من ستة أحرف أو محاطة بفترات. هناك معيار مجموعة من الاختصارات التي يمكن استخدامها لتحل محل الكلمات الطويلة. وتتألف هذه المجموعة من الأحرف الأولى والأخيرة من الكلمات الرئيسية مع الفاصلة العليا بينهما، مثل لW'R لكلمة WHENEVER و D'Nلكلمة DIMENSION.

بالنسبة إلى جوم GOM :

  • الإدخال هو شكل حر،
  • ليس هناك مجال متسلسل،
  • خطوط الإدخال قد يصل طولها إلى 255 حرفا،
  • الخطوط التي تبدأ بنجمة (*) هي التعليقات،
  • الخطوط التي تبدأ بتسجيل زائد (+) هي خطوط استمرار،
  • الخطوط التي تبدأ بالأحرف (A-Z) لها تسمية عبارة تواصل لأول حرف فارغ، * العبارات المتعددة مفصولة ب الفاصلة المنقوطة (;) قد توضع على خط
  • الأحرف "1" (صفحة جديدة)، "-" (ثالث مسافات)، و"0" (مسافتين) في العمود 1 يسيطر على تباعد سرد مصدر،

رسم خط تحت (_) وعلامة الاقتباس المزدوجة (") يتم إضافتها قد يشمل الإدخال الحروف الكبيرة والصغيرة، ولكن الصغيرة يتم تجاهلا إلا في ثوابت الحرف.

أنواع البيانات

MAD يستخدم مصطلح "mode" لأنواع البيانات الخاصة به. ويدعم خمس طرق أساسية:

  1. الأعداد الصحيحة (من 9,999,999,999 - إلى 9,999,999,999+)
    1. ثوابت اللأعداد الصحيحة (1, +1, -1)
    2. الثوابت الثمانى (ل7777777777777الف)
    3. تعامل على أنها أعداد صحيحة، وتكتب مع أو بدون عامل قياس (1K10, 1K)
    4. الثوابت الأبجدية أو الأحرف (من1 إلى 6 أحرف محددة باستخدام علامة الدولار ($ABCDEF$)، يتم استخدام علامة الدولار المزدوج تستخدم لإدخال علامة الدولار الحقيقية ($$$.56$ هي 56 سنتات).
    5. تعامل على أنها صحيحة، مخزنة منحنية إلى الأيسر ومحشوة في اليمين من 0 حتي 5 فراغات.
  2. النقطة العائمة (10−38 to 1038)
    1. تكتب بنقطة عشرية بدون الأس (0., 1.5, -0.05, +100.4, -4.) ;
    2. تكتب بالأس بدون النقطة العشرية (.05E-2, -.05E2, 5E02, 5.E2)
  3. القيم المنطقية (1B للحقيقية و0B للخطأ)
  4. بيان (عبارة) العلامة
  5. اسم الوظيفة
    1. تكتب اسم ويليه نقطة (SQRT.)، حيث أن الأسماء هي من واحد إلى ستة أحرف أبجدية أو الأرقام العشرية الطويلة ويجب أن تبدأ بحرف أبجدي.

السلسلة التي تطول عن ستة أحرف قد تكون ممثلة باستخدام المصفوفات. النمط الثابت ويمكن إعادة تحديده بإضافة حرف M يليه رقم واحد في نهاية الثابت، حيث يشير 0 إلى نقطة عائمة، 1 صحيحا، 2 منطقياً، 3 اسم الوظيفة، 4 بيان (التسمية) العالمة.

قوائم المدخلات والمخرجات وعبارات القيم المتجهة VECTOR VALUES وبعض الوظائف الفرعية تسمح باستخدام كتل الرموز، والذي لها شكل A,...,B أو A...B, وهو إشارة إلى المنطقة بأكملها من A إلى B، شاملة. حسب وجهة vector، فإن A(1)...A(N) يكون A(1), A(2), A(3),..., A(N).

بالنسبة لجوم GOM :

  • الكلمات ذات الـ 4 بايت تم استخدامها لخمس صيغ أصلية؛
  • ستة صيغ يتم إضافتها: حرف، عدد صحيح قصيرة، بايت عدد صحيح، عدد صحيح طويل، المؤشر، وسجل ديناميكي؛ CHARACTERو SHORT INTEGERو BYTE INTEGERو LONG INTEGER, POINTERو DYNAMIC RECORD
  • الثوابت قد تكون مؤهلة بإلحاق للعلامة آت (@) متبوعة بحرف واحد أو أكثر: @X (عشري)، @Ln (طول بايت n)، @Mn (واسطة n)، @F أو @FT (نقطة عائمة)، @I or @IR (عدد صحيح)، @BN (منطقية)، @ @Cأو @CH, أو @CR (حرف)،@SIأو @SR, أو @H (عدد صحيح قصيرة)، @BI أو @BR (عدد صحيح البايت)، @LI أو @LR (عدد صحيح طويل)، و@P (مؤشر)؛
  • الأحرف الثوابت قد تكون محددة باستخدام إما علامة الدولار ($) أو فاصلة الاقتباس المزدوجة (")
  • المتغيرات الغير مهيأة مسبقا ليست معدة لتكون قيمة معروفة.

الأسماء

  • أسماء المتغيرات وأسماء الوظائف، وبيان عبارات التسميات، لها نفس الشكل حرف يليه من صفر إلى خمس أحرف أو أرقام. أسماء الوظائف تنتهي بنقطة.
  • نفس الاسم لا يمكن استخدامه لأكثر من غرض واحد.
  • كل الأسماء يمكن كتابتها سفليا (الاسم متبوعا بأقواس، مع الحروف السفلية المتعددة والمفصولة بفواصل (,)). لا يوجد حد لعدد الاحرف السفلية.

بالنسبة لجوم GOM :

  • الأسماء قد يصل طولها إلى 24 حرفا،
  • اأسماء قد تتضمن علامة السطر السفلى (_).

المصفوفات

  • المصفوفات ذات البعد الواحد تسمى vectors والمصفوفات ذات الأبعاد المتعددة matrices.
  • المصفوفات يجب أن تكون مصرحة باستخدام عبارة البعد، عن طريق ادراج معلومات البعد على عبراة تصريح أخرى، أو يمكن أن يكون مصرح ضمنا باستخدام عبارة VECTOR VALUES.
  • يسمح للأحرف السفلية السلبية والصفر.
  • مصفوفات Matrices يمكن الرجوع إليها باستخدام حرف سفلى لكل بعد، الاسم (s1,s2,s3)، أو باستخدام حرف واحد سفلى، الاسم (s1).
  • مصفوفات Matricesهى طوابق في مواقع الذاكرة المتتالية وفقا للترتيب الذي تحدده تنوع الأحرف المنخفضة أقصى اليمين أولاً.
  • وهناك تسهيلات تسمح بتغيير الأبعاد في وقت التشغيل؛ يسمح للمبرمج بتغيير موقع العنصر الأولي في المصفوفة داخل الكتلة الشاملة التي وضعت جانبا للمصفوفة، والسماح بتخزين الخرائط التعسفى أن يكون محدد.

في جوم GOM مصفوفات الأحرف يمكن الرجوع إليها باستخدام الترميز التالي:

    • مصفوفة (أول... آخر)
    • مصفوفة (... آخر)
    • مصفوفة (أول...)
    • مصفوفة (...)
    • مجموعة س (الأولى | الطول)

المشغلين

العوامل الحسابية

  • ABS. (أحادي القيمة المطلقة)
  • + (هوية أحادي)
  • - (نفي أحادي)
  • + (إضافة)
  • - (الطرح)
  • * (الضرب)
  • / (قسمة)
  • P. (الأسي)
  • N. (تمثل إنكار)

A*. (وتمثل) V* (تمثل أو)

  • EV. (أو تمثل أو حصرية)
  • LS. (التحول إلى اليسار)
  • RS. (التحول إلى اليمين)
  • REM. (الباقي، جوم فقط)

مشغلي المؤشر (جوم فقط)

  • : (اختيار)
  • LAC. (موقع)
  • IND. (مراوغة)

العوامل الترابطية

  • L. (أقل من)
  • LE. (أقل من أو يساوي)
  • E (يساوي)
  • NE. (لا يساوي)
  • G. (أكبر من)
  • GE. (أكبر من أو يساوي)

العوامل المنطقية

  • NOT. (لا أحادية منطقية)
  • OR. (أو منطقية)
  • EXOR. (المنطقية الخالصة أو)
  • AND. (و منطقية)
  • THEN. (يعني ضمنا)
  • EQV. (التعادل)

تمشغلين بت BIT (جوم فقط)

  • SETBIT. (حدد بت إلى 1)
  • RESETBIT. (إعادة تحديد بت إلى 0)
  • BIT. (بت اختبار)

التعبيرات

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

الجانبين الأيسر والأيمن من المهمة لابد أن يكونان من نفس النوع، عدا عبارات العدد الصحيح أو النقطة العائمة على اليمين سوف يتم تحويلها لعبارات نقطة عائمة أو عدد صحيح إالى اليسار إذا لزم الأمر.

عبارات التصريح

المتغيرات قد تكون مصرحة ضمنا أو صراحة.من المفترض أن المتغيرات المصرح بها ضمناً يفترض أن تكون نقطة عائمة. الوضع الطبيعي NORMAL MODE هو عبارة قد تستخدم لتغيير المفترض هذا.

  • النقطة العائمة var1، var2 ... (قد تشمل معلومات البعد)
  • العدد الصحيح var1، var2 ... (قد تشمل معلومات البعد)
  • المنطقية var1، var2 ... (قد تشمل معلومات البعد)
  • اسم الوظيفة name1، name2 ... (قد تشمل معلومات البعد)
  • بيان عبارة التسمية label1, label2,... (قد تشمل معلومات البعد)
  • وضع الرقم n، var1، var2 ... (قد تشمل معلومات البعد)
  • الوضع العادي هو نوع اسم (عدد صحيح أو منطقي أونقطة عائمة أو عبارة التسمية أو اسم الوظيفة)
  • الوضع العادي هو وضع رقم n
  • البعد المتغير (max-dimension) (يظهر مصفوفة من 0... البعد -الأقصى)
  • البعد المتغير (from...to) (من... إلى)
  • البعد المتغير (subscript1, subscript2,..., subscriptn) (الحرف السفلى 1، الحرف السفى 2... الحرف السفلى n) (يظهر مصفوفة متعددة الأبعاد)
  • مصفوفة القيم المتجهة (n) VECTOR VALUES array = c1, c2, c3,...
  • مصفوفة القيم المتجهة (n) array (m) VECTOR VALUES array = ثابت
  • الوضع المزدوج التخزين قائمة الأوضاع (ضعف كمية التخزين المخصصة للأوضاع المذكورة)
  • التعادل (a1, a2,..., am)
  • البرنامج المشترك a, b, c,... (قد تشمل معلومات البعد)
  • القابل للمسح a, b, c,... (قد تشمل معلومات البعد)
  • العامل A1 <(B1/sub>), A2(B2),..., An(Bn)
  • جدول الرموز المتجه المتغير SYMBOL TABLE VECTOR variable
  • جدول الرموز المتجه المتغيرالكامل Full SYMBOL TABLE VECTOR variable
  • الإدراج في (الوضع الافتراضي)
  • خارج الإدراج
  • إدراج المراجع
  • المراجع خارج القائمة (الوضع الافتراضي)

عبارات قابلة للتنفيذ variable* متغير = التعبير (مهمة)

  • TRANSFER TO (أنقل إلى) عبارة - التسمية

WHENEVER* (أي مكان) عبارة منطقية، وتعبير قابل للتنفيذ (شرطى بسيط بسيطة)

  • WHENEVER (أي مكان) عبارة منطقية، (مركب شرطى)
  • OR WHENEVER (أو أي وقت) عبارة منطقية
  • OTHERWISE (غير ذلك) يا منطقية كلما أو التعبير عن
  • END OF CONDITIONALنهاية مشروطة

CONTINUE* (استمرار) (عبارة فعل لا شيء، عادة ما تستخدم لحمل تسمية البيان)

  • THROUGH (من خلال) بيان التسمية، للقيم المتغيرة = قائمة العبارات (التكرار)
  • SET LIST TO (إعداد القائمة إلى) مصفوفة عناصر، [العبارات]

SAVE DATA list* قائمة حفظ البيانات

  • RESTORE DATA list قائمة استعادة البيانات
  • PAUSE NO (لا وقوف) عدد ثمانى صحيح (وقف التنفيذ، وطباعة رقم ثماني على مشغل وحدة التحكم، والسماح إعادة التشغيل يدويا)
  • END OF PROGRAM (انتهاء البرنامج) (العبارة الأخيرة في جميع البرامج MAD)

عبارات المدخلات والمخرجات

  • READ DATA (قراءة البيانات باستخدام تحديد التنسيق الذاتي، var1=value1, var2=value2,..., varN=valueN
  • READ AND PRINT DATA (مشابهة لقراءة البيانات، ولكن قراءة البيانات هو صدى للطابعة)
  • READ FORMAT (اقرأ التنسيق) تنسيق، القائمة
  • READ BCD TAPE n (أقراء الشريط ترميز عشري ثنائى)، تنسيق، القائمة
  • READ BINARY TAPE n (أقراء الشريط الثنائى n)، القائمة
  • PRINT RESULTS (اطبع النتائج) القائمة
  • PRINT BCD RESULTS (اطبع نتائج بترميز عشري ثنائى) القائمة
  • PRINT OCTAL RESULTS (اطبع نتائج الثمانى) القائمة
  • PRINT COMMENT $string$ (اطبع التعليق) (الحرف الأول من السلسلة يتحكم بالنقل)
  • PRINT FORMAT (اطبع التنسيق) القائمة
  • PRINT ON LINE FORMAT (اطبع على شكل خط التنسيق)، القائمة (عرض رسالة لمشغل الآلة)
  • WRITE BCD TAPE (اكتب الشريط بترميز عشري ثنائى)، تنسيق، القائمة
  • WRITE BINARY TAPE (اكتب الشريط ثنائي)، القائمة
  • PUNCH FORMAT قائمة (تنسيق التثقيب)، * LOOK AT FORMAT (انظر إلى التنسيق) القائمة (اقرأ البيانات دون التقدم إلى السجل التالي)
  • REWIND TAPE n (لف الشريط)
  • END OF FILE TAPE n(أنتهاء ملف الشريط)
  • BACKSPACE RECORD OF TAPE n (إرجاع تسجيل الشريط)
  • BACKSPACE RECORD OF TAPE n, IF LOAD POINT TRANSFER TO statement إرجاع تسجيل الشريط إذا كانت نقطة التحميل تحولت
  • BACKSPACE FILE OF TAPE n (إرجاع ملف الشريط)
  • BACKSPACE FILE OF TAPE n, IF LOAD POINT TRANSFER TO statement (إرجاع ملف الشريط إذا كانت نقطة التحميل تحولت)
  • SET LOW DENSITY TAPE n أضبط الشريط منخفض الكثافة
  • SET HIGH DENSITY TABLE n أضبط الجدول عالى الكثافة
  • REWIND TAPE n (راجع لف الشريط)
  • UNLOAD TAPE n (فرغ الشريط)
  • FORMAT VARIABLE list (تنسيق المتغير) (الإظهار، قد يتضمن معلومات البعد)

الوظائف

الوظائف الداخلية والخارجية معتمدة. يتم تصنيف الوظائف الداخلية كجزء من البرنامج الذي تستخدم فيه ويقتسموا الإعلان والمتغيرات مع البرنامج الرئيسي. الوظائف الخارجية يتم ترجمتها بشكل منفصل ولا تقتسم الإعلانات والمتغيرات.

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

الوظائف تمرر المتحولات بالقيمة. المتحولات يمكن ان تكون مصطلحات وعبارات العلامات والأسماء الوظائف.

يسمح لتعريف الوظيفة الداخلية باستخدام عبارة واحدة للتعريف.

الوظائف المتداخلة أو المتتالية مسموح بها، على الرغم من أن الوظيفة يجب أن تقوم بعمل الحفظ المطلوب ومعاودة العمل من تلقاء نفسها نفعل.

  • INTERNAL FUNCTION (الوظيفة الداخلية) اسم الوظيفة (قائمة المتحولات) = المصطلح (عبارة واحد للتعريف)
  • INTERNAL FUNCTION (الوظيفة الداخلية) اسم الوظيفة (قائمة المتحولات)
  • EXTERNAL FUNCTION (الوظيفة الخارجية) اسم الوظيفة (قائمة المتحولات)
  • ENTRY TO NAME (إدخال اسم) اسم.
  • END OF FUNCTION (انتهاء الوظيفة) (العبارة الأخيرة في تعريف الخط المتعدد)
  • FUNCTION RETURN (إعادة الوظيفة) [المصطلح]
  • ERROR RETURN (عودة الخطأ) (تجبر على عودة الخطأ إلى العبارة أو إلى نظام التشغيل، في حال عدم إعطاء أي عبارة يرجع الها عند الخطأ كأخر وسيط للاستدعاء)
  • SAVE RETURN (حفظ العودة)
  • RESTORE DATA (استعادة البيانات)
  • RESTORE RETURN (استعادة العودة)
  • EXECUTE إجراء (التنفيذ) (قائمة المتحولات) (استدعاء وظيفة غير أحادية القيمة)

مشغل التعريف وإعادة التعريف

أحد السمات الأكثر إثارة للاهتمام في MAD هو القدرة على تمديد اللغة من خلال إعادة تعريف المشغلين القائمين، وتحديد مشغلين جدد، أو تحديد أنواع بيانات جديدة (أوضاع). التعريفات مصنوعة باستخدام عبارات إعلان MAD ولغة التجميع mnemonics (الاستذكار) تشمل اتباع الإعلان حتى النهاية END التعليمة - الزائفة التي تنفذ العملية.

  • DEFINE BINARY OPERATOR defined-op, PRECEDENCE rank existing-op MODE STRUCTURE mode-options (تحديد مشغل ثنائي، أسبقية، تركيبة وضع التشغيل) حدد مشغل ثنائى بأسبقية المرتبة باختيار تركيبة وضع التشغيل
  • DEFINE UNARY OPERATOR defined-op, PRECEDENCE rank existing-op MODE STRUCTURE mode-options (تحديد مشغل أحادي، أسبقية، تركيبة وضع التشغيل) حدد مشغل أحادي بأسبقية المرتبة باختيار تركيبة وضع التشغيل
  • MODE STRUCTURE mode-no = mode-no existing-op mode-no (تركيب الوضع)
  • MODE STRUCTURE mode-no = mode-no existing-op mode-no (تركيب الوضع) SAME SEQUENCE AS mode-no existing-op mode-no (نفس التسلسل)

حيث:

  • Rank الرتبة هي واحدة من على النحو نفسه SAME AS، أقل من LOWER THAN، أو أعلى من HIGHER THAN
  • خيارات الوضع، هي الخيارات التي تظهر على عبارة تركيبة الوضع MODE STRUCTURE.

ثلاث باقات من التعاريف محددة مسبقا (ماتريكس MATRIX، الدقة المزدوجة DOUBLE PRECISION، ومعقدة COMPLEX) متاحة للإدراج في مصدر برامج MAD باستخدام عبارة الادراج INCLUDE.

  • INCLUDE إدراج الحزمة

مراجع

  • An Abbreviated description of the MAD compiler language, Fernando J. Corbató, Jerome H. Saltzer, Neil Barta, and Thomas N. Hastings, M.I.T. Computation Center Memorandum CC-213, June, 1963.
  • Bernie Galler talks "a little about the history of MAD"[11]
  • CLSYS, a program to facilitate the use of the MAD translator for large (class-size) batches, Jerome H. Saltzer, M.I.T. Computation Center Memorandum CC-204. February, 1963.
  • A Computer Primer for the Mad Language, Elliott Irving Organick, 1961.
  • Internal organization of the MAD translator, Arden, B. W., Galler, B. A. and Graham, R. M., pp. 28–31, CACM Volume 4 No. 1 (Jan 1961)
  • An Introduction To Algorithmic Methods Using The MAD Language, Alan B. Marcovitz and Earl J. Schweppe, Macmillan, 1966.
  • An Introduction to Digital Computers and the MAD Language, Brice Carnahan, University of Michigan.
  • The Language of Computers, Bernard A. Galler, University of Michigan, McGraw-Hill, 1962.
  • MAD at Michigan: its function & features, Arden, B. W., Galler, B. A., and Graham, R. M., pp27–28, Datamation, Volume 7 No. 12 (Dec 1961)
  • The archives at the Bentley Historical Library of the University of Michigan contain reference materials on the development of MAD and MAD/I, including three linear feet of printouts with hand-written notations and original printed manuals.[13][14][15][16]
  1. ^ Alt، Franz (1967). Advances in Computers. Academic Press. ص. 143. ISBN:0120121042. مؤرشف من الأصل في 2022-04-06.
  2. ^ A User's Reference Manual For The Michigan Algorithm Decoder (MAD) For the IBM 7090, Digital Computer Laboratory, Graduate College, University of Illinois, 1962, 221 pages نسخة محفوظة 20 يونيو 2012 على موقع واي باك مشين.
  3. ^ ا ب The Michigan Algorithm Decoder (The MAD Manual), Bruce W. Arden, Revised Edition 1966 نسخة محفوظة 02 مارس 2012 على موقع واي باك مشين.
  4. ^ ا ب UNIVAC and ALGOL by George Gray in Unisys History Newsletter, Volume 6, Number 2 (June 2002), Georgia Tech نسخة محفوظة 29 يونيو 2017 على موقع واي باك مشين.
  5. ^ The MAD/I Manual, Bolas, Springer, and Srodawa, CONCOMP Technical Report 32, 1970, University of Michigan, Ann Arbor, 194 pages نسخة محفوظة 02 مارس 2012 على موقع واي باك مشين.
  6. ^ MTS Volume 2: Public File Descriptions, University of Michigan Computing Center
  7. ^ ا ب GOM Manual, Don Boettner, University of Michigan Computing Center, Ann Arbor, June 1989 [وصلة مكسورة] نسخة محفوظة 11 يناير 2011 على موقع واي باك مشين.
  8. ^ ا ب Computer Languages - Principles and History, Sammet, Jean E., Englewood Cliffs, N.J., Prentice-Hall 1969, p. 205 نسخة محفوظة 07 يونيو 2011 على موقع واي باك مشين.
  9. ^ In August 2010 when asked about Jean's Sammet's statement that "MAD does not resemble ALGOL 58 in any significant way", Bruce Arden wrote: "Regarding Jean Sammet, she may have conflated the two versions of IAL (58 and 60). Unlike the later version, the 58 version said nothing about what words (or language) should be used to identify conditional and transfer statements, which led for parsing reasons to words like WHENEVER. Also there were some additional features in MAD that went beyond the 58 specs."
  10. ^ Documentation and Source for Early Electronic Mail and Messaging, Tom Van Vleck نسخة محفوظة 06 يونيو 2017 على موقع واي باك مشين.
  11. ^ ا ب "A Career Interview with Bernie Galler", Galler and Galler, pp 22-33, IEEE Annals of the History of Computing, 23(1) January 2001 نسخة محفوظة 07 يونيو 2011 على موقع واي باك مشين.
  12. ^ Glossary of Multics acronyms and terms by Tom Van Vleck نسخة محفوظة 02 يوليو 2018 على موقع واي باك مشين.
  13. ^ Technical Memos, University of Michigan Computing Center publications, 1965-1999 نسخة محفوظة 02 مارس 2012 على موقع واي باك مشين.
  14. ^ Technical Reports, University of Michigan Computing Center publications, 1965-1999 نسخة محفوظة 20 أكتوبر 2012 على موقع واي باك مشين.
  15. ^ Topical File 1960-1986, University of Michigan Computing Center records, 1952-1996 نسخة محفوظة 20 أكتوبر 2012 على موقع واي باك مشين.
  16. ^ MAD (Michigan Algorithm Decoder) 1960-1979, University of Michigan Computing Center records, 1952-1996 نسخة محفوظة 20 أكتوبر 2012 على موقع واي باك مشين.

وصلات خارجية

Read other articles:

Károlos PapoúliasΚάρολος Παπούλιας Presiden Republik Helenik III ke-9Masa jabatan12 Maret 2005 – 13 Maret 2015Perdana MenteriKostas Karamanlis PendahuluCostis StephanopoulosPenggantiProkopis PavlopoulosMenteri Luar NegeriMasa jabatan26 Juli 1985 – 2 Juli 1989 PendahuluIoannis CharalambopoulosPenggantiTzannis TzannetakisMasa jabatan13 Oktober 1993 – 2 Januari 1996 PendahuluMichalis PapakonstantinouPenggantiTheodoros Pangalos Informasi pribadiL...

 

 

Final Piala Champions Eropa 1959TurnamenPiala Champions Eropa 1958–59 Real Madrid Stade de Reims 2 0 Tanggal3 Juni 1959StadionNeckarstadion, StuttgartWasitAlbert Dusch (Jerman)Penonton72.000← 1958 1960 → Final Piala Champions Eropa 1959 adalah final pertandingan sepak bola Piala Champions Eropa 1958–59, yang diselenggarakan pada tanggal 3 Juni 1959, antara Real Madrid melawan Stade de Reims di final ke-4 sepanjang sejarah. Pertandingan dimainkan di Neckarstadion, Stuttgart, da...

 

 

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Folk Blues album – news · newspapers · books · scholar · JSTOR (May 2021) (Learn how and when to remove this template message) 1962 compilation album by John Lee HookerFolk BluesCompilation album by John Lee HookerReleased1962 (1962)RecordedAu...

Jamaican musician (1942–2021) Hugh Roy redirects here. For the cricketer, see Hugh Roy (cricketer). U-RoyODBackground informationBirth nameEwart BeckfordAlso known asThe OriginatorHugh RoyThe TeacherBorn(1942-09-21)21 September 1942Jones Town, JamaicaDied17 February 2021(2021-02-17) (aged 78)Kingston, JamaicaGenresReggaerocksteadydancehalldubOccupation(s)Singer, songwriterYears active1961–2021LabelsTreasure Isle, Duke Reid, VirginMusical artist Ewart Beckford OD (21 September 1942 �...

 

 

Andrew Hughes Nazionalità  Galles Altezza 188 cm Peso 75 kg Calcio Ruolo Difensore Squadra  Preston N.E. Carriera Giovanili 2003-2008 Newport County Squadre di club1 2008-2016 Newport County141 (4)2016-2018 Peterborough Utd82 (3)2018- Preston N.E.169 (7) 1 I due numeri indicano le presenze e le reti segnate, per le sole partite di campionato.Il simbolo → indica un trasferimento in prestito. Statistiche aggiornate al 12 febbraio 2021 Modifica dati su Wikid...

 

 

Artikel ini tidak memiliki referensi atau sumber tepercaya sehingga isinya tidak bisa dipastikan. Tolong bantu perbaiki artikel ini dengan menambahkan referensi yang layak. Tulisan tanpa sumber dapat dipertanyakan dan dihapus sewaktu-waktu.Cari sumber: Wilhelm Burgdorf – berita · surat kabar · buku · cendekiawan · JSTOR Wilhelm BurgdorfWilhelm Burgdorf Informasi pribadiLahir14 Februari 1895FürstenwaldeMeninggal2 Mei 1945BerlinPenghargaan sipilSalib Ke...

Win Myintဝင်းမြင့် Presiden MyanmarMasa jabatan28 Maret 2018 – 1 Februari 2021Penasihat NegaraAung San Suu KyiWakil PresidenMyint Swe Henry Van ThioPendahuluHtin KyawMyint Swe (penjabat)PenggantiMyint Swe (penjabat)Ketua Dewan Perwakilan MyanmarMasa jabatan1 Februari 2016 – 21 Maret 2018WakilT Khun MyatPendahuluShwe MannPenggantiT Khun MyatAnggota Pyithu Hluttawuntuk Kotapraja TamweMasa jabatan1 Februari 2016 – 23 Maret 2018PendahuluLei Lei W...

 

 

Largest Norman castle in Ireland (ruin), Trim, County Meath This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article includes a list of general references, but it lacks sufficient corresponding inline citations. Please help to improve this article by introducing more precise citations. (April 2014) (Learn how and when to remove this message) This article needs additional citations for...

 

 

Pour les articles homonymes, voir Elle. Elle Logo du film. Données clés Réalisation Paul Verhoeven Scénario David Birke Musique Anne Dudley Acteurs principaux Isabelle HuppertLaurent LafitteVirginie EfiraAnne ConsignyCharles Berling Sociétés de production SBS Productions Pays de production France Allemagne Belgique Genre Thriller Durée 130 minutes Sortie 2016 Pour plus de détails, voir Fiche technique et Distribution. modifier Elle est un thriller germano-franco-belge réalisé ...

County (län) of Sweden County in SwedenVästra Götaland County Västra Götalands län (Swedish)CountyThe Brakelund burial ground in Lidköping, Sweden. FlagCoat of armsVästra Götaland County in SwedenLocation map of Västra Götaland County in SwedenCountrySwedenFounded1 January 1998CapitalGothenburgMunicipalities 49 AleAlingsåsÅmålBengtsforsBollebygdBoråsDals-EdEssungaFalköpingFärgelandaGöteneGothenburgGrästorpGullspångHärrydaHerrljungaHjoKarlsborgKungälvLerumLidköpingL...

 

 

Zhejiang Gonow Auto Co., Ltd. Création 27 septembre 2003 Disparition 2016 Forme juridique Société par actions Siège social Taizhou Chine Direction ain tmouchant 🇩🇿 Actionnaires GAC Gonow Automobile (d)Zhejiang Gonow Automobile (d) Activité Automobile Produits Voitures, véhicules utilitaires, SUV Société mère Guangzhou Automobile Cie Site web https://www.gonowauto.com/ modifier - modifier le code - voir Wikidata  Gonow (officiellement Zhejiang Gonow Auto Co., Ltd.) é...

 

 

Parliamentary elections in Albania Politics of Albania Constitution Human rights Executive President: Bajram Begaj (list) Prime Minister: Edi Rama (list) Deputy Prime Minister: Belinda Balluku (list) Cabinet Legislature Parliament Speaker: Lindita Nikolla (list) Committees Members Leader of the Opposition Judiciary Constitutional Court Administrative Court Court of Justice (ordinary jurisdiction) Supreme Court Administrative divisions Counties Municipalities CitiesVillages Elections Recent el...

Grand final of the 1983 Victorian Football League season 1983 VFL Grand Final Hawthorn Essendon 20.20 (140) 8.9 (57) 1 2 3 4 HAW 5.6 (36) 12.10 (82) 16.18 (114) 20.20 (140) ESS 3.0 (18) 4.1 (25) 4.3 (27) 8.9 (57) Date24 September 1983StadiumMelbourne Cricket Ground, Melbourne, AustraliaBroadcast in AustraliaNetworkSeven Network ← 1982 VFL Grand Final 1984 → The 1983 VFL Grand Final was an Australian rules football game contested between the Hawthorn Football Club and Ess...

 

 

British election result 1997 United Kingdom general election in Enfield Southgate ← 1992 1 May 1997 2001 →   Candidate Stephen Twigg Michael Portillo Jeremy Browne Party Labour Conservative Liberal Democrats Popular vote 20,570 19,137 4,966 Percentage 44.2 41.1 10.7 MP before election Michael Portillo Conservative Subsequent MP Stephen Twigg Labour The constituency of Enfield Southgate returned a memorable result in the United Kingdom 1997 general election, whe...

 

 

Native Americans dedicated to preventing alcohol abuse Part of a series onNative Americans in the United States History Paleo-Indians Lithic stage Archaic period in the Americas Formative stage Classic stage Post-Classic stage Woodland period Age of Discovery European colonization of the Americas Population history of the Indigenous peoples of the Americas Genocide Slavery Slavery in the United States Partus sequitur ventrem Indian Removal Act Trail of Tears Native American slave ownership In...

Micronations, sometimes also referred to as model countries and new country projects, are small, self-proclaimed entities that assert their sovereignty as independent states but which are not acknowledged as such by any of the recognised sovereign states, or by any supranational organization. They should not be confused with microstates, which are recognised independent states of a small size, nor should they be confused with unrecognised states, which are of more geopolitical significance b...

 

 

State electoral district of Western Australia Australian electorate North West CentralWestern Australia—Legislative AssemblyLocation of North West Central (dark green) in Western AustraliaStateWestern AustraliaDates current2005–present1MPMerome BeardPartyLiberalNamesakeNorth-west region of Western AustraliaElectors10,993 (2021)Area820,591 km2 (316,832.0 sq mi)DemographicRural, remote and provincial Electorates around North West Central: Indian Ocean PilbaraKimberley No...

 

 

1953年胡应汉在香港出版的《伍宪子先生传记》中的伍宪子照片 伍宪子(1881年6月3日—1959年10月7日),名庄,别名文琛,字宪子、宪庵,号梦蝶,笔名雪铁、博浪楼主,广东南海人。中华民国政治人物。 生平 伍宪子清末时中举人,1904年加入保皇会,曾任《香港商报》、《南洋总汇新报》主笔,后曾去日本。中华民国成立后,担任过广东内务司司长、湖北内务司司长、龙州�...

Sainte-AgnèscomuneSainte-Agnès – Veduta LocalizzazioneStato Francia RegioneAlvernia-Rodano-Alpi Dipartimento Isère ArrondissementGrenoble CantoneLe Moyen-Grésivaudan TerritorioCoordinate45°14′N 5°55′E45°14′N, 5°55′E (Sainte-Agnès) Superficie27,07 km² Abitanti542[1] (2009) Densità20,02 ab./km² Altre informazioniCod. postale38190 Fuso orarioUTC+1 Codice INSEE38350 CartografiaSainte-Agnès Sito istituzionaleModifica dati su Wikidata · Manuale S...

 

 

Health of individuals enrolled in college Skorton Center for Health Initiatives at Cornell University College health is a desired outcome created by a constellation of services, programs and policies directed at advancing the health and wellbeing of individuals enrolled in an institution of higher education, while also addressing and improving both population health and community health. Many colleges and universities worldwide apply both health promotion and health care as processes to achie...