मॉड्यूल-2

From alpha
Jump to navigation Jump to search

Modula-2
Paradigmsimperative, structured, modular, data and procedure hiding, concurrent
परिवारWirth Modula
द्वारा डिज़ाइन किया गयाNiklaus Wirth
पहली प्रस्तुति1978; 46 years ago (1978)
टाइपिंग अनुशासनStatic, strong, safe
स्कोपLexical (static)
प्लेटफॉर्मLilith (AMD 2901)
ओएसCross-platform
फ़ाइल नाम एक्सटेंशनएस.mod, .m2, .def, .MOD, .DEF, .mi, .md
वेबसाइटwww.modula2.org
Major implementations
ETH compiler written by Niklaus Wirth
GNU Modula-2
ADW Modula-2
Dialects
PIM2, PIM3, PIM4, ISO
Influenced by
Modula, Mesa, Pascal, ALGOL W, Euclid
Influenced
Modula-3, Oberon, Ada, Fortran 90, Lua, Seed7, Zonnon, Modula-GM

मोडुला -2 एक संरचित, प्रक्रियात्मक प्रोग्रामिंग भाषा है जिसे 1977 और 1985/8 के बीच ETH ज्यूरिख में निकोलस विर्थ द्वारा विकसित किया गया था। इसे लिलिथ (कंप्यूटर) पर्सनल कार्य केंद्र के ऑपरेटिंग सिस्टम और अनुप्रयोग प्रक्रिया सामग्री के लिए भाषा के रूप में बनाया गया था।[1] इसे बाद में लिलिथ के संदर्भ के बाहर प्रोग्रामिंग के लिए इस्तेमाल किया गया था।

Wirth ने Modula-2 को अपनी पहले की प्रोग्रामिंग लैंग्वेज पास्कल (प्रोग्रामिंग भाषा) और मापांक के उत्तराधिकारी के रूप में देखा।[2][3] मुख्य अवधारणाएँ हैं:

  1. अलग संकलन के लिए संकलन इकाई के रूप में मॉड्यूल
  2. समवर्ती प्रक्रियाओं के लिए बुनियादी बिल्डिंग ब्लॉक के रूप में कोरटाइन
  3. प्रकार और प्रक्रियाएं जो मशीन-विशिष्ट डेटा तक पहुंच की अनुमति देती हैं

भाषा डिजाइन मेसा (प्रोग्रामिंग भाषा) भाषा और ज़ेरॉक्स ऑल्टो से प्रभावित था, दोनों ज़ेरॉक्स PARC से, जिसे विर्थ ने अपने 1976 के विश्राम वर्ष के दौरान देखा था।[4] कंप्यूटर पत्रिका बाइट (पत्रिका) ने अगस्त 1984 का अंक भाषा और उसके आसपास के वातावरण को समर्पित किया।[5] मोडुला-2 के बाद मॉड्यूल -3 और बाद में भाषाओं की ओबेरॉन (प्रोग्रामिंग भाषा) श्रृंखला आई।

विवरण

मोडुला-2 एक सामान्य प्रयोजन प्रक्रियात्मक भाषा है जो सिस्टम प्रोग्रामिंग और एप्लिकेशन प्रोग्रामिंग दोनों के लिए उपयुक्त है। सिंटैक्स विर्थ की पिछली भाषा, पास्कल (प्रोग्रामिंग लैंग्वेज) पर आधारित है, जिसमें कुछ तत्व और सिंटैक्टिक अस्पष्टताएं हटा दी गई हैं। अलग संकलन और डेटा अमूर्तता का समर्थन करने के लिए डिज़ाइन किया गया मॉड्यूल अवधारणा; और बहु क्रमादेशन के लिए प्रत्यक्ष भाषा समर्थन जोड़ा गया।

भाषा एक-पास संकलक के उपयोग की अनुमति देती है। Gutknecht और Wirth का ऐसा कंपाइलर पहले के बहु-पास संकलक्स की तुलना में लगभग चार गुना तेज था।[6] यहाँ हैलो वर्ल्ड कार्यक्रम के स्रोत कोड का एक उदाहरण दिया गया है:

<वाक्यविन्यास लैंग = मॉड्यूल 2> मॉड्यूल हैलो; STextIO आयात राइटस्ट्रिंग से; शुरू

 राइटस्ट्रिंग (हैलो वर्ल्ड!)

अंत हैलो। </वाक्यविन्यास हाइलाइट>

एक मोडुला -2 मॉड्यूल का उपयोग संबंधित उपप्रोग्राम और डेटा संरचनाओं के एक सेट को समाहित करने के लिए किया जा सकता है, और कार्यक्रम के अन्य भागों से उनकी दृश्यता को प्रतिबंधित कर सकता है। मोडुला -2 प्रोग्राम मॉड्यूल से बने होते हैं, जिनमें से प्रत्येक दो भागों से बना होता है: एक परिभाषा मॉड्यूल, इंटरफ़ेस भाग, जिसमें सबसिस्टम के केवल वे भाग होते हैं जो निर्यात किए जाते हैं (अन्य मॉड्यूल के लिए दृश्यमान), और एक कार्यान्वयन मॉड्यूल, जिसमें वर्किंग कोड होता है जो मॉड्यूल के लिए आंतरिक होता है।

भाषा का सख्त दायरा (कंप्यूटर विज्ञान) नियंत्रण है। मानक पहचानकर्ताओं को छोड़कर, बाहर से कोई वस्तु (कंप्यूटर विज्ञान) एक मॉड्यूल के अंदर तब तक दिखाई नहीं देता जब तक कि स्पष्ट रूप से आयात न किया जाए; स्पष्ट रूप से निर्यात किए जाने तक कोई आंतरिक मॉड्यूल ऑब्जेक्ट बाहर से दिखाई नहीं देता है।

मान लीजिए मॉड्यूल एम 1 एक स्पष्ट निर्यात सूची में अपने पहचानकर्ताओं की गणना करके ए, बी, सी, और पी निर्यात करता है

<वाक्यविन्यास लैंग = मॉड्यूल 2>

 परिभाषा मॉड्यूल M1;
   निर्यात योग्य ए, बी, सी, पी;
   ...

</वाक्यविन्यास हाइलाइट>

फिर मॉड्यूल M1 से ऑब्जेक्ट a, b, c, और P को मॉड्यूल M1 के बाहर M1.a, M1.b, M1.c और M1.P के रूप में जाना जाता है। उन्हें योग्य तरीके से बाहर निर्यात किया जाता है (मॉड्यूल एम 1 वैश्विक है)। निर्यात मॉड्यूल का नाम, यानी एम 1, ऑब्जेक्ट के नाम के बाद क्वालीफायर के रूप में प्रयोग किया जाता है।

मान लीजिए मॉड्यूल एम 2 में निम्नलिखित आयात घोषणा शामिल है

<वाक्यविन्यास लैंग = मॉड्यूल 2>

 मॉड्यूल एम 2;
   आयात एम 1;
   ...

</वाक्यविन्यास हाइलाइट>

तो इसका मतलब यह है कि मॉड्यूल M1 द्वारा इसके संलग्न कार्यक्रम के बाहर निर्यात की जाने वाली वस्तुओं का उपयोग अब मॉड्यूल M2 के अंदर किया जा सकता है। उन्हें योग्य तरीके से संदर्भित किया जाता है: M1.a, M1.b, M1.c, और M1.P। उदाहरण:

<वाक्यविन्यास लैंग = मॉड्यूल 2>

   ...
   एम1.ए := 0;
   एम1.सी := एम1.पी(एम1.ए + एम1.बी);
   ...

</वाक्यविन्यास हाइलाइट>

योग्य निर्यात नाम टकराव से बचा जाता है। उदाहरण के लिए, यदि कोई अन्य मॉड्यूल M3 P नामक वस्तु का निर्यात करता है, तो दो वस्तुओं को M1 के बाद से अलग किया जा सकता है। P M3.P से भिन्न होता है। इससे कोई फर्क नहीं पड़ता कि दोनों वस्तुओं को उनके निर्यात मॉड्यूल M1 और M3 के अंदर P कहा जाता है।

एक वैकल्पिक तरीका मौजूद है। मान लीजिए कि मॉड्यूल M4 इस प्रकार तैयार किया गया है:

<वाक्यविन्यास लैंग = मॉड्यूल 2>

 मॉड्यूल एम4;
   एम 1 आयात से ए, बी, सी, पी;

</वाक्यविन्यास हाइलाइट>

इसका अर्थ यह है कि मॉड्यूल M1 द्वारा बाहर की ओर निर्यात की गई वस्तुओं को फिर से मॉड्यूल M4 के अंदर उपयोग किया जा सकता है, लेकिन अब निर्यात किए गए पहचानकर्ताओं के संदर्भ में एक अयोग्य तरीके से जैसे: a, b, c, और P. उदाहरण:

<वाक्यविन्यास लैंग = मॉड्यूल 2>

   ...
   ए: = 0;
   सी : = पी (ए + बी);
   ...

</वाक्यविन्यास हाइलाइट>

यदि कोई नाम क्लैश नहीं है तो आयात का यह तरीका प्रयोग करने योग्य है। यह चर और अन्य वस्तुओं को उनके निर्यात मॉड्यूल के बाहर उसी अयोग्य तरीके से उपयोग करने की अनुमति देता है, जैसे निर्यात मॉड्यूल के अंदर।

निर्यात और आयात नियम न केवल अवांछित पहुंच के विरुद्ध वस्तुओं की सुरक्षा करते हैं, बल्कि एक कार्यक्रम में प्रत्येक पहचानकर्ता की परिभाषा के क्रॉस-रेफरेंस को भी बनाने की अनुमति देते हैं। यह संपत्ति कई मॉड्यूल वाले बड़े कार्यक्रमों के रखरखाव में मदद करती है।

भाषा एकल-प्रोसेसर संगामिति (मॉनिटर (सिंक्रनाइज़ेशन), कोरटाइन और नियंत्रण का स्पष्ट हस्तांतरण) और हार्डवेयर एक्सेस (पूर्ण पते, बिट हेरफेर और बाधा डालना) के लिए प्रदान करती है। यह नाममात्र प्रकार की प्रणाली का उपयोग करता है।

बोलियाँ

मोडुला-2 की दो प्रमुख बोलियाँ हैं। पहला पीआईएम है, जिसका नाम निकोलस विर्थ द्वारा प्रोग्रामिंग इन मोडुला -2 पुस्तक के लिए रखा गया है।[4]पीआईएम के तीन प्रमुख संस्करण थे: दूसरा, तीसरा (संशोधित) और चौथा। प्रत्येक भाषा के मामूली रूपों का वर्णन करता है। दूसरी प्रमुख बोली आईएसओ है, जिसका नाम अंतर्राष्ट्रीय मानकीकरण संगठन द्वारा मानकीकरण के प्रयास के लिए रखा गया है। यहाँ उनके बीच कुछ अंतर हैं।

  • पीआईएम2 (1983)
    • आवश्यक स्पष्ट EXPORT परिभाषा मॉड्यूल में खंड।
    • समारोह SIZE मॉड्यूल से आयात करने की जरूरत है SYSTEM
  • पीआईएम3 (1985)
    • निकाला गया EXPORT अवलोकन के बाद परिभाषा मॉड्यूल से खंड कि एक परिभाषा मॉड्यूल के भीतर सब कुछ उस मॉड्यूल के इंटरफ़ेस को परिभाषित करता है, इसलिए EXPORT खंड अनावश्यक था।
    • समारोह SIZE व्यापक है (आयात के बिना किसी भी दायरे में दिखाई देता है)
  • पीआईएम4 (1988)
    • के व्यवहार को निर्दिष्ट किया MOD ऑपरेटर जब ऑपरेंड नकारात्मक होते हैं।
    • सभी की आवश्यकता है ARRAY OF CHAR ASCII NUL द्वारा स्ट्रिंग्स को समाप्त किया जाना चाहिए, भले ही स्ट्रिंग अपने एरे में बिल्कुल फिट हो।
  • आईएसओ (1996, 1998)
    • ISO मोडुला-2 ने PIM मोडुला-2 की अधिकांश अस्पष्टताओं का समाधान किया। इसने डेटा प्रकार जोड़े COMPLEX और LONGCOMPLEX, अपवाद, मॉड्यूल समाप्ति (FINALLY खंड) और एक पूर्ण मानक इनपुट/आउटपुट (I/O) पुस्तकालय (कम्प्यूटिंग)। कई छोटे अंतर और स्पष्टीकरण हैं।[7]


सुपरसेट्स

विशिष्ट एप्लिकेशन डोमेन के लिए भाषा एक्सटेंशन के साथ मोडुला-2 के कई सुपरसेट हैं:

  • पीआईएम सुपरसेट्स
  • आईएसओ सुपरसेट
    • ISO10514-2, एक वस्तु-उन्मुख प्रोग्रामिंग परत जोड़ता है[11]
    • ISO10514-3, एक सामान्य प्रोग्रामिंग (जेनेरिक) परत जोड़ता है[11]* आईईसी सुपरसेट
    • Mod51, एम्बेडेड विकास के लिए IEC1131 निर्माण के साथ विस्तारित

डेरिवेटिव्स

कई व्युत्पन्न भाषाएं हैं जो मोडुला -2 के बहुत करीब से मिलती-जुलती हैं लेकिन अपने आप में नई भाषाएं हैं। अधिकांश अलग-अलग उद्देश्यों के साथ और अपनी खुद की ताकत और कमजोरियों के साथ अलग-अलग भाषाएं हैं:

  • मोडुला-3, पूर्व-जेरोक्स कर्मचारियों की एक टीम द्वारा विकसित किया गया था जो डीईसी और ओलिवेटी में चले गए थे[12]
  • ओबेरॉन (प्रोग्रामिंग लैंग्वेज), ओबेरॉन ऑपरेटिंग सिस्टम के लिए ईटीएच ज्यूरिख में विकसित किया गया[13] ऑनलाइन उपलब्ध
  • ओबेरॉन -2 (प्रोग्रामिंग भाषा) | ओबेरॉन -2, ओओ एक्सटेंशन के साथ ओबेरॉन[14]
  • सक्रिय ओबेरॉन, अभी तक ओबेरॉन (प्रोग्रामिंग भाषा) का एक और ऑब्जेक्ट-ओरिएंटेड एक्सटेंशन, मल्टीप्रोसेसर और मल्टीकोर सिस्टम पर समानांतर प्रोग्रामिंग का समर्थन करने के मुख्य उद्देश्य के साथ ईटीएच में भी विकसित हुआ।
  • Parallaxis, मशीन-स्वतंत्र डेटा-समानांतर प्रोग्रामिंग के लिए एक भाषा[15]
  • अम्ब्रीएल, पैट टेरी द्वारा शिक्षण भाषा के रूप में विकसित[16]
  • वाईएएफएल, डेरियस ब्लैसबैंड द्वारा शोध भाषा[17]

कई अन्य मौजूदा प्रोग्रामिंग भाषाओं ने मोडुला-2 की विशेषताओं को अपनाया है।

भाषा तत्व

आरक्षित शब्द

पीआईएम [2,3,4] 40 आरक्षित शब्दों को परिभाषित करता है:

<पूर्व> और एल्सिफ लूप रिपीट ऐरे एंड मोड रिटर्न एग्जिट मॉड्यूल सेट शुरू करें निर्यात द्वारा तब नहीं के लिए मामला CONST FROM OR TYPE परिभाषा यदि सूचक तक DIV कार्यान्वयन प्रक्रिया वार योग्य जबकि आयात करें अन्य के साथ रिकॉर्ड में </पूर्व>

अंतर्निहित पहचानकर्ता

पीआईएम [3,4] 29 अंतर्निहित पहचानकर्ताओं को परिभाषित करता है:

<पूर्व> ABS EXCL लॉन्गंट रियल बिटसेट झूठा लंबा आकार बूलियन फ्लोट मैक्स ट्रू कैप हॉल्ट मिन ट्रंक कार्डिनल हाई निल वैल चार इंक विषम सीएचआर आईएनसीएल ओआरडी दिसम्बर पूर्णांक प्रोक </पूर्व>

एंबेडेड सिस्टम का उपयोग

Modula-2 का उपयोग कई एम्बेडेड सिस्टम को प्रोग्राम करने के लिए किया जाता है।

कैम्ब्रिज मोडुला-2

कैम्ब्रिज माइक्रोप्रोसेसर सिस्टम्स द्वारा कैम्ब्रिज मोडुला-2 एम्बेडेड विकास के लिए भाषा एक्सटेंशन के साथ PIM4 के सबसेट पर आधारित है। कंपाइलर डॉस पर चलता है और यह मोटोरोला 68000 श्रृंखला (एम68के) आधारित एम्बेडेड माइक्रोकंट्रोलर्स के लिए एक मिनोस ऑपरेटिंग सिस्टम चलाने के लिए कोड उत्पन्न करता है।

मॉड51

मैंडेनो ग्रानविले इलेक्ट्रॉनिक्स द्वारा मॉड51 आईईसी 1131 के बाद एम्बेडेड विकास के लिए भाषा एक्सटेंशन के साथ आईएसओ मोडुला -2 पर आधारित है, निर्देशयोग्य तर्क नियंत्रक्स (पीएलसी) के लिए एक उद्योग मानक मॉड्यूला -2 से निकटता से संबंधित है। Mod51 संकलक 80C51 आधारित माइक्रोकंट्रोलर्स के लिए स्टैंडअलोन कोड उत्पन्न करता है।

मोडुला-जीएम

Delco Electronics, जो तब GM ह्यूजेस इलेक्ट्रॉनिक्स की सहायक कंपनी थी, ने 1985 में शुरू होने वाले एम्बेडेड कंट्रोल सिस्टम के लिए Modula-2 का एक संस्करण विकसित किया। Delco ने इसे Modula-GM नाम दिया। यह डेल्को के इंजन नियंत्रण इकाइयों (ईसीयू) में एम्बेडेड सिस्टम के लिए मशीन कोड (भाषा) को बदलने के लिए इस्तेमाल की जाने वाली पहली उच्च-स्तरीय प्रोग्रामिंग भाषा थी। यह महत्वपूर्ण था क्योंकि 1988 में जीएम के लिए डेल्को प्रति दिन 28,000 से अधिक ईसीयू का उत्पादन कर रहा था। यह तब ECUs का विश्व का सबसे बड़ा उत्पादक था।[18] एक एम्बेडेड नियंत्रक में मोडुला-जीएम का पहला प्रायोगिक उपयोग 1985 के एंटीलॉक ब्रेकिंग सिस्टम कंट्रोलर में हुआ था जो मोटोरोला 68xxx माइक्रोप्रोसेसर पर आधारित था, और 1993 में चैंप कार वर्ल्ड सीरीज़ चैंपियनशिप ऑटो रेसिंग टीम (सीएआरटी) द्वारा इस्तेमाल किया गया जनरल-4 ईसीयू था। और इंडी रेसिंग लीग (IRL) टीमें।[19] मॉडुला-जीएम का पहला उत्पादन उपयोग जीएम ट्रकों में इसका उपयोग था, जो 1990 के मॉडल वर्ष वाहन नियंत्रण मॉड्यूल (वीसीएम) से शुरू हुआ था, जो जीएम पावरट्रेन के भंवर इंजनों का प्रबंधन करता था। 1997-2005 मॉडल वर्ष ब्यूक पार्क एवेन्यू में उपयोग किए गए जीएम के 90 डिग्री ब्यूक V6 इंजन परिवार 3800 सीरीज II के लिए मोडुला-जीएम का उपयोग सभी ईसीयू पर भी किया गया था। मॉड्यूला-जीएम कंपाइलर्स और संबंधित सॉफ़्टवेयर प्रबंधन उपकरण डेल्को द्वारा इंटरमेट्रिक्स से प्राप्त किए गए थे।

1986 में अन्य वैकल्पिक भाषा विकल्पों पर इसकी कई ताकतों के कारण मोडुला -2 को डेल्को की उच्च स्तरीय भाषा के आधार के रूप में चुना गया था। 1995 में आप्टिव बनाने के लिए जीएम (अन्य घटक डिवीजनों के साथ) से डेल्को इलेक्ट्रॉनिक्स को अलग करने के बाद, वैश्विक सोर्सिंग की आवश्यकता थी एक गैर-मालिकाना उच्च-स्तरीय सॉफ़्टवेयर भाषा का उपयोग किया जाना चाहिए। डेल्फी में अब विकसित ईसीयू एम्बेडेड सॉफ्टवेयर को भाषा सी (प्रोग्रामिंग भाषा) के लिए वाणिज्यिक संकलक के साथ संकलित किया गया है।

रूसी रेडियो नेविगेशन उपग्रह

यूनाइटेड स्टेट्स ग्लोबल पोजिशनिंग सिस्टम (जीपीएस) के समान रूसी रेडियोनेविगेशन-उपग्रह सेवा फ्रेमवर्क ग्लोनास के उपग्रहों को मोडुला-2 में क्रमादेशित किया गया है।[20]


संकलक

  • एम्स्टर्डम कंपाइलर किट (ACK) मोडुला-2 – मिनिक्स के लिए; फ्रीवेयर[21]
  • ADW मोडुला-2 - Windows के लिए, ISO अनुरूप, ISO/IEC 10514-1, ISO/IEC 10514-2 (OO एक्सटेंशन), ​​ISO/IEC 10514-3 (जेनेरिक एक्सटेंशन); फ्रीवेयर[22]
  • Aglet Modula-2 - AmigaOS 4.0 के लिए PowerPC के लिए; फ्रीवेयर[23]
  • फिटेड सॉफ्टवेयर टूल्स (FST) मोडुला-2 - डॉस के लिए; फ्रीवेयर[24]
  • गार्डन प्वाइंट मोडुला-2 (जीपीएम) - बीएसडी, लिनक्स, ओएस/2, सोलारिस (ऑपरेटिंग सिस्टम) के लिए; आईएसओ अनुपालन; फ्रीवेयर, 30 जुलाई 2014 तक[25]
  • गार्डन प्वाइंट मोडुला-2 (जीपीएम/सीएलआर) - .NET फ्रेमवर्क के लिए; फ्रीवेयर[26]
  • जीएनयू मोडुला-2 - जीसीसी प्लेटफॉर्म के लिए संस्करण 1.0 11 दिसंबर, 2010 को जारी किया गया; अनुपालन: PIM2, PIM3, PIM4, ISO; मुफ्त सॉफ्टवेयर, जीएनयू जनरल पब्लिक लाइसेंस (जीपीएल)[27]
  • लॉजिटेक एसए - उनके पास एम्बेडेड उपयोग के लिए रीयल टाइम कर्नेल भी था (1987)[28][29]
  • एम2अमिगा – अमिगा के लिए; मुफ्त सॉफ्टवेयर[30]
  • M2M - N. Wirth और ETH ज्यूरिख के सहयोगियों द्वारा, क्रॉस-प्लेटफ़ॉर्म, आभासी मशीन के लिए M-कोड उत्पन्न करता है; फ्रीवेयर[31]
  • MacMETH - N. Wirth और ETH ज्यूरिख के सहयोगियों द्वारा Macintosh के लिए, केवल क्लासिक; फ्रीवेयर[32]
  • मॉड51 - इंटेल 80x51 माइक्रोकंट्रोलर परिवार के लिए, आईएसओ अनुपालन, आईईसी1132 एक्सटेंशन; मालिकाना सॉफ्टवेयर[33]
  • मेगामैक्स मोडुला-2 - केवल जर्मन में प्रलेखन के साथ अटारी एसटी के लिए; फ्रीवेयर[34] * Modula-2 R10 - इस Modula के लिए संदर्भ संकलक; ओपन-सोर्स, सहकर्मी समीक्षा[35]
  • मोडुलावेयर - ओपन VMS (वैक्स और डीईसी अल्फा) के लिए, आईएसओ अनुपालन; मालिकाना सॉफ्टवेयर[36] * ORCA/Modula-2 - Apple प्रोग्रामर वर्कशॉप के लिए द बाइट वर्क्स द्वारा Apple IIGS के लिए
  • p1 Modula-2 – Macintosh, Classic Mac OS और macOS (केवल PowerPC और कार्बन (API) के लिए), ISO अनुरूप; मालिकाना सॉफ्टवेयर[37]
  • मोका - विभिन्न प्लेटफार्मों के लिए, पीआईएम अनुपालन; वाणिज्यिक, फ्रीवेयर Linux/BSD संस्करण[38]
  • टीडीआई मोडुला-2 - अटारी एसटी के लिए, टीडीआई सॉफ्टवेयर द्वाराCite error: Closing </ref> missing for <ref> tag IBM Modula-2 का उपयोग OS/400 वर्टिकल लाइसेंस्ड इंटरनल कोड (प्रभावी रूप से OS/400 का कर्नेल) के कुछ हिस्सों के लिए किया गया था।[39] जब OS/400 को IBM RS64 प्रोसेसर परिवार में पोर्ट किया गया था, तब इस कोड को ज्यादातर C++ से बदल दिया गया था, हालांकि कुछ ऑपरेटिंग सिस्टम के आधुनिक रिलीज में बने हुए हैं।[40][41] एक मोटोरोला 68000 बैकएंड भी मौजूद था, जिसका उपयोग एम्बेडेड सिस्टम उत्पादों में किया जा सकता था।[42]


ऑपरेटिंग सिस्टम

कुछ ऑपरेटिंग सिस्टम (OSs) को प्रोग्राम करने के लिए Modula-2 का उपयोग किया जाता है। Modula-2 मॉड्यूल संरचना और समर्थन सीधे दो संबंधित OS में उपयोग किए जाते हैं।

लिलिथ वर्कस्टेशन के लिए लिलिथ (कंप्यूटर)#ऑपरेटिंग सिस्टम | मेडोस-2 नाम का ओएस, ईटीएच ज्यूरिख में स्वेन्द एरिक नुडसन द्वारा विर्थ की सलाह से विकसित किया गया था। यह एक एकल उपयोगकर्ता, वस्तु-उन्मुख ऑपरेटिंग सिस्टम है जो मोडुला-2 मॉड्यूल से निर्मित है।[43][44][45] क्रोनोस (कंप्यूटर) #ऑपरेटिंग सिस्टम नाम का OS, क्रोनोस (कंप्यूटर) वर्कस्टेशन के लिए, सोवियत संघ की विज्ञान अकादमी, साइबेरियाई शाखा, नोवोसिबिर्स्क कंप्यूटिंग सेंटर, मॉड्यूलर एसिंक्रोनस डेवलपेबल सिस्टम्स (MARS) प्रोजेक्ट, क्रोनोस रिसर्च ग्रुप द्वारा विकसित किया गया था। (केआरजी)। यह मोडुला-2 मॉड्यूल पर आधारित एकल उपयोगकर्ता प्रणाली है।[46]


किताबें

संदर्भ

  1. "Summary of Projects by N. Wirth, 1962–1999". Department of Computer Science. ETH Zurich.
  2. Wirth, Niklaus (2002). "Pascal and its Successors". In Broy, Manfred; Denert, Ernst (eds.). Software Pioneers: Contributions to Software Engineering. Berlin, Heidelberg: Springer-Verlag. pp. 108–120. doi:10.1007/978-3-642-59412-0. ISBN 978-3-642-59412-0. S2CID 2698265.
  3. Wirth, Niklaus (18 February 2005). "History and Goals of Modula-2". Dr. Dobb's Journal. Informa PLC.
  4. 4.0 4.1 Wirth, Niklaus (1988). Programming in Modula-2 (4th ed.). Berlin, Heidelberg: Springer. doi:10.1007/978-3-642-83565-0. ISBN 978-3-642-83565-0. S2CID 41899609. Page 4.
  5. Wirth, Niklaus; Gutknecht, Jürg; Ohran, Richard; Paul, Robert J.; Coar, David (August 1984). "Theme: Modula-2". Byte: The Small Systems Journal. Vol. 9, no. 8. pp. 143–232. Available at Archive.org
  6. Wirth, Niklaus (1 May 1984). "A Single-pass Modula-2 Compiler for Lilith" (PDF). CFB Software. Retrieved 28 January 2019.
  7. ISO/IEC 10514-1:1996
  8. Tichy et al., Modula-2*: An Extension for Modula-2 for highly parallel portable programs, University of Karlsruhe [1990]
  9. Bräunl, Parallel Programming, Prentice-Hall [1993]
  10. Muller, C. (November 1986). "Modula–Prolog: A Software Development". IEEE Software. 3 (6): 39–45}. doi:10.1109/MS.1986.229475. S2CID 763425.
  11. 11.0 11.1 modula2.org, 5. Where can I get information about ISO Modula-2?
  12. Cardelli et al., Modula-3 Report, Research Report 31, Systems Research Center, Digital Equipment Corporation, [1988]
  13. N. Wirth & J. Gutknecht, Project Oberon: the design of an operating system and compiler, ISBN 0-201-54428-8, Addison-Wesley [1992]
  14. Moessenboeck & Wirth, The Programming Language Oberon-2, ETH Zurich [1995]
  15. Thomas Bräunl, Parallaxis, a Language for Structured Data-parallel Programming, University of Stuttgart [1996]
  16. Pat D. Terry, Another Minimal Programming Language, ACM SIGPLAN Notices No. 30 [1995]
  17. D. Blasband, The YAFL Programming Language, Second Edition, [1993]
  18. Delco Electronics Electron Magazine, The Atwood Legacy, Spring '89, page 25
  19. Development of electronics for GM auto racing
  20. Koltashev, A. A. (2006). "Modula-2 in Russian Space". Kronos: History of a Project (in русский). xTech. Retrieved 8 April 2021.
  21. Given, David (9 October 2020). "ACK". GitHub. Retrieved 13 March 2021.
  22. "ADW Modula-2". Modula-2.org. Retrieved 13 March 2021.
  23. "Aglet Modula-2". Aglet Modula-2. 15 February 2012. Retrieved 13 March 2021.
  24. "FST Modula-2". psg.com. Retrieved 13 October 2021.
  25. "Gardens Point Modula". Programming Languages and Systems Group, Faculty of Information Technology. Queensland University of Technology, Brisbane. 29 January 2007. Archived from the original on 23 March 2013. Retrieved 13 March 2021.
  26. K John Gough (25 October 2010). "Gardens Point Modula-2 (GPM/CLR)". GitHub. Retrieved 16 October 2022.
  27. "GNU Modula-2". Savannah. Free Software Foundation. 30 August 2018. Retrieved 13 March 2021.
  28. "Logitech Modula-2". The Electronic Developer Magazine for OS/2 (EDM/2). Retrieved 29 May 2022.
  29. "1988: Modula-2 and Logitech RTK". Øyvind Teig. 12 April 2022. Photo of the floppy disk
  30. Degen, René; Nieder, Claudio; Preusing, Bernd; Schaub, Markus; Straube, Jörg (2004). "M2Amiga". Claudio's web site. A+L AG. Archived from the original on 20 January 2019. Retrieved 13 March 2021.
  31. "Lilith and Modula-2". CFB Software. Retrieved 13 March 2021.
  32. "MacMETH: A Fast Modula-2 Language System for Macintosh Computers". ETH Zurich: Terrestrial Systems Ecology. 22 January 2020. Retrieved 13 March 2021.
  33. "Mod51 Structured Text Programming Language". Design Tools. Archived from the original on 21 October 2008. Retrieved 13 March 2021.
  34. Tempelmann, Thomas (1 September 2020). "Thomas Tempelmann's home page". Retrieved 18 March 2021.
  35. "Modula-2 R10". Retrieved 13 October 2021.
  36. Dotzel, Chih-Ya (21 January 2020). "ModulAware". Retrieved 18 March 2021.
  37. Wiedemann, Albert (13 January 2021). "p1 Modula-2". p1 Society for Computer Science. Retrieved 19 March 2021.
  38. Beck, Michael; Geiss, Rubino (2006). "The Karlsruhe Modula-2 Compiler MOCKA". Institute for Program Structures and Data Organization (IPD). Karlsruhe Institute of Technology. Archived from the original on 4 September 2009. Retrieved 21 March 2021.
  39. "Reader Feedback on AS/400 to i Mystery Solved". itjungle.com. 21 February 2011. Retrieved 12 March 2021.
  40. Soltis, Frank G. (1997). Inside the AS/400 (2nd ed.). Duke Press. ISBN 978-1882419661.
  41. Leif Svalgaard (8 October 2003). "Re: Re: MI emulator". MI400 (Mailing list). Retrieved 26 February 2021.
  42. Cite error: Invalid <ref> tag; no text was provided for refs named edm2
  43. Knudsen, Svend Erik (1983). Medos-2: A Modula-2 Oriented Operating System for the Personal Computer Lilith (PhD). ETH Zurich. doi:10.3929/ethz-a-000300091. hdl:20.500.11850/137906.
  44. Knudsen, Svend Erik (25 October 2000). "Medos in Retrospect". In Böszörményi, László; Gutknecht, Jürg; Pomberger, Gustav (eds.). The School of Niklaus Wirth: The Art of Simplicity. Morgan Kaufmann. pp. 69–86. ISBN 978-1558607231. ISBN 1-55860-723-4 & dpunkt, ISBN 3-932588-85-1.
  45. Sand, Paul A. (September 1984). "The Lilith Personal Computer". Byte. pp. 300–311. Retrieved 6 March 2021. Reprint.
  46. Kuznetsov, D.N.; Nedorya, A.E.; Tarasov, E.V.; Filippov, V.E. "Kronos: a family of processors for high-level languages". Kronos: History of a Project (in русский). xTech. Retrieved 13 April 2021.


बाहरी संबंध