एडिनबर्ग आईएमपी

From alpha
Jump to navigation Jump to search

Edinburgh IMP
ParadigmsProcedural, imperative, structured
परिवारALGOL
द्वारा डिज़ाइन किया गयाBratley, Whitfield, M. M. Barritt, David Rees, Peter D. Schofield, Roderick McLeod, Hamish Dewar, Peter D. Stephens, Peter Robertson
DeveloperUniversity of Edinburgh
पहली प्रस्तुति1966; 58 years ago (1966)
टाइपिंग अनुशासनStatic, strong
स्कोपLexical
कार्यान्वयन भाषाAtlas Autocode, IMP
प्लेटफॉर्मEnglish Electric KDF9,
ICL System 4, UNIVAC 1108, IBM System/360, DEC PDP-9, DEC PDP-15, CTL Modular One, x86
ओएसBOS/360, DOS, Windows, Linux
Major implementations
Edinburgh IMP
Dialects
IMP77, IMP80
Influenced by
ALGOL 60, Atlas Autocode

एडिनबर्ग आईएमपी एटलस ऑटोकोड का एक विकास है, जिसे शुरू में स्कॉटलैंड के एडिनबर्ग विश्वविद्यालय में 1966-1969 के आसपास विकसित किया गया था। यह एक सामान्य प्रयोजन प्रोग्रामिंग भाषा है जिसका उपयोग सिस्टम प्रोग्रामिंग के लिए भारी रूप से किया जाता था।

स्पष्ट रूप से, IMP, ALGOL के समान है और इसमें सभी ALGOL-शैली ब्लॉक (प्रोग्रामिंग) संरचना, आरक्षित शब्द (कीवर्ड), और डेटा प्रकार जैसे कि ऐरे डेटा प्रकार, और रिकॉर्ड (कंप्यूटर विज्ञान) शामिल हैं। यह ALGOL-शैली की भाषाओं में एक स्ट्रिंग (कंप्यूटर विज्ञान) प्रकार (वर्णों की एक सरणी, हालांकि इनका एक पूर्वनिर्धारित आकार है) और स्ट्रिंग हेरफेर और कैरेक्टर हैंडलिंग के लिए बिल्ट-इन ऑपरेटर जोड़ता है। ALGOL से एक महत्वपूर्ण अंतर यह है कि आईएमपी नाम से पारित पैरामीटर का समर्थन नहीं करता है, हालांकि यह संदर्भ द्वारा पारित पैरामीटर का समर्थन करता है।

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

ICL सिस्टम 4 (IMP9 के रूप में जाना जाता है) के लिए IMP के ERCC कार्यान्वयन ने सिंटैक्स-चालित मैक्रो सुविधा (एलन फ्रीमैन द्वारा डिज़ाइन की गई) की पेशकश की, जो कि IMP के पूर्ववर्ती, एटलस ऑटोकोड द्वारा प्रस्तुत संकलक संकलक सुविधाओं के समान थी।

अंग्रेजी इलेक्ट्रिक KDF9, ICL सिस्टम 4, UNIVAC 1108, IBM सिस्टम/360, DEC PDP-9, DEC PDP-15 और CTL मॉड्यूलर वन कंप्यूटर के लिए शुरुआती IMP कंपाइलर विकसित किए गए थे। IMP का उपयोग एडिनबर्ग मल्टीपल एक्सेस सिस्टम (EMAS) ऑपरेटिंग सिस्टम को लागू करने के लिए किया गया था, और ICL 2900 श्रृंखला के लिए उस कम्प्यूटिंग मंच पर EMAS को पोर्ट करने की अनुमति देने के लिए एक कंपाइलर लिखा गया था। बाद के वर्षों में, IMP77 नामक IMP का एक संस्करण एडिनबर्ग में कंप्यूटर विज्ञान विभाग के भीतर पीटर रॉबर्टसन द्वारा विकसित किया गया था जो एक सॉफ्टवेयर पोर्टेबिलिटी कंपाइलर था जो IMP को और भी अधिक प्लेटफार्मों पर ले आया। 2002 में, IMP77 भाषा को एडिनबर्ग कंप्यूटर हिस्ट्री प्रोजेक्ट द्वारा Intel x86 हार्डवेयर चलाने वाले DOS, Windows और Linux के लिए पुनर्जीवित किया गया था, और एक बार फिर एडिनबर्ग स्नातकों और पूर्व-पैट द्वारा उपयोग में है।

अलग-अलग IMP और IMP77 को बाद में IMP80 मानक की शुरुआत के साथ एक भाषा में समेकित किया गया, जो एडिनबर्ग क्षेत्रीय कंप्यूटर केंद्र के कार्यान्वयन द्वारा समर्थित था। IMP80 को Intel सहित कई प्लेटफार्मों पर पोर्ट किया गया है और 1990 के दशक में सक्रिय रूप से उपयोग में था।

एडिनबर्ग आईएमपी सीडीसी 6600 के लिए एडगर टी. आयरन्स द्वारा विकसित बाद की आईएमपी (प्रोग्रामिंग लैंग्वेज) सिंटैक्स-एक्स्टेंसिबल प्रोग्रामिंग लैंग्वेज से संबंधित नहीं है, जो कई वर्षों तक राष्ट्रीय सुरक्षा एजेंसी (एनएसए) द्वारा उपयोग की जाने वाली मुख्य भाषा थी।

यह भी देखें

  • आईएमपी (प्रोग्रामिंग भाषा) (विपरीत)

स्रोत


संदर्भ