एल्गोल 68सी

From Vigyanwiki
Revision as of 14:30, 18 February 2023 by alpha>Indicwiki (Created page with "{{cleanup reorganize|date=July 2016}} {{refimprove|date=August 2012}} {{Infobox software | name = ALGOL 68 Cambridge | developer = Stephen R....")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
ALGOL 68 Cambridge
Developer(s)Stephen Bourne, Michael Guy, Andrew D. Birrell, Ian Walker, Chris Cheney, et al.
Initial releasecirca 1970; 54 years ago (1970)
Stable release
1.3039 / March 3, 2013; 11 years ago (2013-03-03)
Written inALGOL 68
Operating systemIBM 360, 370, etc., mainframes (or emulations) running MVT or MVS
TypeCompiler, translator
Websitebitbucket.org/algol68c/dl

ALGOL 68C एक अनिवार्य प्रोग्रामिंग कंप्यूटर प्रोग्रामिंग प्रोग्रामिंग भाषा है, जो ALGOL 68 की एक बोली है, जिसे कैम्ब्रिज बीजगणित प्रणाली (CAMAL) को प्रोग्राम करने के लिए स्टीफन आर बॉर्न और माइकल गाय द्वारा विकसित किया गया था। प्रारंभिक संकलक प्रिंसटन सिंटैक्स कंपाइलर (PSYCO) में लिखा गया था। एडगर टी. आयरन्स द्वारा) जिसे कैम्ब्रिज में जे. एच. मैथ्यूमैन द्वारा कार्यान्वित किया गया था।

ALGOL 68C को बाद में CHAOS OS के लिए इस्तेमाल किया गया 1971 में कैम्ब्रिज विश्वविद्यालय में क्षमता-आधारित सुरक्षा कैप कंप्यूटर के लिए। अन्य शुरुआती योगदानकर्ता एंड्रयू डी. बिरेल थे[1] और इयान वाकर।

1975 में बॉर्न के कैंब्रिज विश्वविद्यालय छोड़ने के बाद संकलक पर बाद का काम किया गया। कचरा संग्रह (कंप्यूटर विज्ञान) जोड़ा गया, और कोड आधार अभी भी चल रहा है[clarification needed] हरक्यूलिस (एमुलेटर) का उपयोग करके एक अनुकरणीय ओएस/एमवीटी पर।

ALGOL 68C कंपाइलर ZCODE में आउटपुट उत्पन्न करता है, जो एक रजिस्टर-आधारित इंटरमीडिएट भाषा है, जिसे या तो मूल निष्पादन योग्य में व्याख्या या संकलित किया जा सकता है। ZCODE की व्याख्या या संकलन करने की इस क्षमता ने ALGOL 68C को कई अलग-अलग कंप्यूटिंग मंच पर पोर्ट करने के लिए प्रोत्साहित किया। सीएपी कंप्यूटर के अलावा, कंपाइलर को संवादात्मक मॉनिटर सिस्टम (सीएमएस), टीओपीएस -10, और ज़िलॉग Z80 80 सहित सिस्टम में पोर्ट किया गया था।

लोकप्रिय संस्कृति

इस कंपाइलर के एक बहुत ही प्रारंभिक पूर्ववर्ती का उपयोग गाय और बॉर्न द्वारा DEC 340 डिस्प्ले के साथ PDP-7 पर पहला कॉनवेज़ गेम ऑफ़ लाइफ लिखने के लिए किया गया था।[2][3]

विभिन्न लिवरपूल सॉफ्टवेयर राजपत्र Z80 कार्यान्वयन का विवरण देते हैं। कंपाइलर को चलाने के लिए लगभग 120 KB मेमोरी की आवश्यकता होती है; इसलिए Z80 की 64 KB मेमोरी वास्तव में कंपाइलर चलाने के लिए बहुत छोटी है। इसलिए Z80 के लिए ALGOL 68C प्रोग्राम को बड़े CAP कंप्यूटर, या IBM सिस्टम/370 मेनफ़्रेम कंप्यूटर से क्रॉस-संकलित होना चाहिए।

अल्गोल 68 सी और यूनिक्स

स्टीफन आर. बॉर्न ने बाद में ALGOL 68 का पुन: उपयोग किया if ~ then ~ else ~ fi, case ~ in ~ out ~ esac और for ~ while ~ do ~ od सामान्य यूनिक्स बॉर्न शेल में खंड, लेकिन साथ inका वाक्य-विन्यास बदल गया, out हटा दिया, और od के साथ बदल दिया done (ओडी (यूनिक्स) उपयोगिता के साथ विरोध से बचने के लिए)।

कैंब्रिज के बाद, बॉर्न ने संस्करण 7 यूनिक्स (सातवां संस्करण यूनिक्स) टीम के साथ बेल लैब्स में नौ साल बिताए। बॉर्न शेल को विकसित करने के साथ-साथ, उन्होंने ALGOL 68C को DEC PDP-11-45 पर यूनिक्स में पोर्ट किया और ALGOL 68C में लिखे गए प्रोग्राम के लिए स्टैक बैकट्रेस प्राप्त करने के लिए अपने यूनिक्स डिबगर उन्नत डीबगर (adb) में एक विशेष विकल्प शामिल किया। यहाँ यूनिक्स के 7वें संस्करण के मैनुअल पृष्ठों से एक उद्धरण दिया गया है:[4] नाम

      अदब - डिबगर
सार
      अदब [-w] [objfil [corfil]]
[...]
कमानों
[...]
       $संशोधक
             विविध आदेश। उपलब्ध संशोधक
             हैं:
             [...]
             एक ALGOL 68 स्टैक बैकट्रेस। अगर पता है
                    दिया गया है तो इसे का पता माना जाता है
                    वर्तमान फ्रेम (आर 4 के बजाय)। अगर गिनें
                    दिया जाता है तो केवल पहली गिनती फ्रेम
                    मुद्रित हैं।

== ALGOL 68C एक्सटेंशन ALGOL 68 == के लिए नीचे कुछ उल्लेखनीय एक्सटेंशन का नमूना दिया गया है:[5]*स्वचालित ऑप:= किसी भी ऑपरेटर के लिए, उदा. *:= और +:=

  • UPTO, DOWNTO और UNTIL लूप-क्लॉज में;
  • विस्थापन ऑपरेटर (:=:=)
  • ANDF, ORF और THEF वाक्यात्मक तत्व।
  • अलग संकलन-* ENVIRON खंड और USING खंड
  • दायरे की जाँच नहीं की गई
  • औपचारिक-घोषणाकर्ताओं में सीमा
  • CODE ... EDOC खंड - ZCODE एम्बेड करने के लिए

ENVIRON ई> और USING खंड

ALGOL 68C में अलग संकलन का उपयोग करके किया जाता है ENVIRON और USING खंड। ENVIRON e> प्रकट होने वाले बिंदु पर संपूर्ण परिवेश को सहेजता है। एक से शुरू होने वाला एक अलग मॉड्यूल लिखा गया है USING क्लॉज प्रभावी रूप से बिंदु पर पहले मॉड्यूल में डाला गया है ENVIRON खंड प्रकट होता है।

ENVIRON और USING पारंपरिक लाइब्रेरी मैकेनिज्म द्वारा निहित बॉटम-अप स्टाइल के विपरीत, प्रोग्रामिंग की टॉप-डाउन शैली के लिए उपयोगी हैं।

ये खंड C (प्रोग्रामिंग भाषा) में पाए जाने वाले '#include' या Python (प्रोग्रामिंग भाषा) में पाए जाने वाले 'आयात' के विपरीत हैं। का उद्देश्य ENVIRON तंत्र एक प्रोग्राम स्रोत को प्रबंधनीय आकार के टुकड़ों में विभाजित करने की अनुमति देना है। साझा स्रोत फ़ाइल को केवल एक बार पार्स करना आवश्यक है, C (प्रोग्रामिंग भाषा) में पाए जाने वाले #include के विपरीत, जहाँ शामिल फ़ाइल को प्रत्येक स्रोत फ़ाइल के लिए पार्स करने की आवश्यकता होती है जिसमें यह शामिल है।

का उदाहरण ENVIRON खंड

mylib.a68 नामक फ़ाइल: <पूर्व> शुरू

  आईएनटी मंद = 3; # निरंतर #
  INT एक संख्या := 120; # एक परिवर्तनीय #
  पर्यावरण उदाहरण1;
  मोड मैट्रिक्स = [मंद, मंद] वास्तविक; # एक प्रकार की परिभाषा #
  मैट्रिक्स एम 1;
  एक संख्या := पर्यावरण उदाहरण2;
  प्रिंट ((एक नंबर))

अंत </पूर्व>

का उदाहरण USING खंड

usemylib.a68 नामक फ़ाइल: <पूर्व> Mylib से उदाहरण 2 का उपयोग करना शुरू

 मैट्रिक्स एम 2; #उदाहरण केवल #
 प्रिंट ((एक नंबर)); # mylib.a68 # में घोषित
 प्रिंट ((2 यूपीबी एम 1)); # Mylib.a68 # में भी घोषित
 पर्यावरण उदाहरण3; #पर्यावरण नेस्ट किया जा सकता है #
 666

अंत </पूर्व>

==मानक ALGOL 68== से भाषा पर प्रतिबंध

  • कोई ALGOL 68 FLEX और चर लंबाई सरणियाँ नहीं
  • MODE STRING फ्लेक्स के बिना लागू किया गया
  • PAR पैरेलल क्लॉज लागू नहीं किया गया था
  • अमानक ट्रांसपुट
  • अन्य...

ALGOL 68C के लिए एक अनुवादक-कंपाइलर PDP-10, IBM System/360 और कई अन्य कंप्यूटरों के लिए उपलब्ध था।

संदर्भ

  1. Birrell, Andrew D. (December 1977). "System Programming in a High Level Language" (PDF). Dissertation submitted for the degree of Doctor of Philosophy. University of Cambridge. Retrieved 2007-04-22.
  2. "Item Detail: Digital Equipment Corporation Model 340". Australian Computer Museum Society (ACMS). AceWare Web Hosting. Retrieved 2020-04-17.
  3. Gardner, Martin (October 1970). "The fantastic combinations of John Conway's new solitaire game "life"" (PDF). Mathematical Games. Scientific American. No. 223. pp. 120–123. For long-lived populations such as this one Conway sometimes uses a PDP-7 computer with a screen on which he can observe the changes [...] The program was written by M. J. T. Guy and S. R. Bourne. Without its help some discoveries about the game would have been difficult to make.
  4. "The Modular Manual Browser: Adb". UnixDev.net. Archived from the original on 2016-03-03. Retrieved 2020-04-17.
  5. Bourne, Stephen R.; Birrell, Andrew D.; Walker, Ian (1975). ALGOL 68C reference manual. Cambridge University Computer Laboratory.


बाहरी संबंध