एल्गोल 68सी: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 10: Line 10:
| website                = {{URL|bitbucket.org/algol68c/dl}}
| website                = {{URL|bitbucket.org/algol68c/dl}}
}}
}}
[[ALGOL 68|एलगोल (ALGOL) 68]]C ऐसी [[अनिवार्य प्रोग्रामिंग]] है जिसे [[कंप्यूटर प्रोग्रामिंग]] में मुख्य [[प्रोग्रामिंग भाषा]] के रूप में उपयोग होता रहा हैं, इस प्रोग्रामिंग भाषा को [[कैम्ब्रिज बीजगणित प्रणाली]] (CAMAL) में प्रोग्राम करने के लिए स्टीफन आर बॉर्न और [[माइकल गाय]] द्वारा विकसित किया गया था। प्रारंभिक [[संकलक]] प्रिंसटन सिंटैक्स कंपाइलर (PSYCO) में लिखा गया था, जिसे एडगर टी. आयरन्स तथा कैम्ब्रिज के जे. एच. मैथ्यूमैन द्वारा कार्यान्वित किया गया था।
[[ALGOL 68|एल्गोल (ALGOL)]] 68सी ऐसी [[अनिवार्य प्रोग्रामिंग]] है जिसे [[कंप्यूटर प्रोग्रामिंग]] में मुख्य [[प्रोग्रामिंग भाषा]] के रूप में उपयोग होता रहा हैं, इस प्रोग्रामिंग भाषा को [[कैम्ब्रिज बीजगणित प्रणाली]] (CAMAL) में प्रोग्राम करने के लिए स्टीफन आर बॉर्न और [[माइकल गाय|माइकल गाॅय]] द्वारा विकसित किया गया था। प्रारंभिक [[संकलक]] प्रिंसटन सिंटैक्स कंपाइलर (PSYCO) में लिखा गया था, जिसे एडगर टी. आयरन्स तथा कैम्ब्रिज के जे. एच. मैथ्यूमैन द्वारा कार्यान्वित किया गया था।


एलगोल 68C को बाद में काओस ओपरेटिंग सिस्टम के लिए उपयोग किया गया था, इस प्रकार 1971 में [[कैम्ब्रिज विश्वविद्यालय]] में [[क्षमता-आधारित सुरक्षा]] [[कैप कंप्यूटर]] के लिए प्रारंभिक योगदानकर्ता एंड्रयू डी. बिरेल और इयान वाकर थे<ref>{{cite web |url=http://birrell.org/andrew/papers/thesis.pdf |title=System Programming in a High Level Language |last=Birrell |first=Andrew D. |date=December 1977 |format=PDF |work=Dissertation submitted for the degree of Doctor of Philosophy |publisher=University of Cambridge |access-date=2007-04-22}}</ref>।
एलगोल 68सी को बाद में काओस ओपरेटिंग सिस्टम के लिए उपयोग किया गया था, इस प्रकार 1971 में [[कैम्ब्रिज विश्वविद्यालय]] में [[क्षमता-आधारित सुरक्षा]] [[कैप कंप्यूटर]] के लिए प्रारंभिक योगदानकर्ता एंड्रयू डी. बिरेल और इयान वाकर थे<ref>{{cite web |url=http://birrell.org/andrew/papers/thesis.pdf |title=System Programming in a High Level Language |last=Birrell |first=Andrew D. |date=December 1977 |format=PDF |work=Dissertation submitted for the degree of Doctor of Philosophy |publisher=University of Cambridge |access-date=2007-04-22}}</ref>।


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


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


== लोकप्रिय संस्कृति ==
== लोकप्रिय संस्कृति ==
इस कंपाइलर के बहुत ही प्रारंभिक पूर्ववर्ती का गाय और बॉर्न द्वारा डेक 340 डिस्प्ले के साथ [[PDP-7|पीडीपी-7]] पर पहला कॉनवेज़ गेम ऑफ़ लाइफ लिखने के लिए उपयोग किया गया था।<ref>{{cite web |url=http://www.aceware.iinet.net.au/acms/ItemDetail.asp?lngItemId=175 |title=Item Detail: Digital Equipment Corporation Model 340 |website=Australian Computer Museum Society (ACMS) |publisher=AceWare Web Hosting |access-date=2020-04-17}}</ref><ref name="SA1970"/>
इस कंपाइलर के बहुत ही प्रारंभिक पूर्ववर्ती का गाय और बॉर्न द्वारा डेक 340 डिस्प्ले के साथ [[PDP-7|पीडीपी-7]] पर पहला कॉनवेज़ गेम ऑफ़ लाइफ लिखने के लिए उपयोग किया गया था।<ref>{{cite web |url=http://www.aceware.iinet.net.au/acms/ItemDetail.asp?lngItemId=175 |title=Item Detail: Digital Equipment Corporation Model 340 |website=Australian Computer Museum Society (ACMS) |publisher=AceWare Web Hosting |access-date=2020-04-17}}</ref><ref name="SA1970"/>


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


== अल्गोल 68 सी और यूनिक्स ==
== अल्गोल 68 सी और यूनिक्स ==
स्टीफन आर. बॉर्न ने बाद में एलगोल 68 का पुन: उपयोग किया <code><u> '''if'''</u> ~ <u>then</u> ~ <u>else</u> ~ <u>'''fi'''</u></code>, <code><u>'''case'''</u> ~ <u>in</u> ~ <u>out</u> ~ <u>'''esac'''</u></code> और <code><u>for</u> ~ <u>while</u> ~ <u>'''do'''</u> ~ <u>'''od'''</u></code> सामान्य [[यूनिक्स]] [[बॉर्न शेल]] में खंड, लेकिन साथ <code><u>in</u></code>का वाक्य-विन्यास बदल गया, <code><u>out</u></code> कर दिया था, और <code><u>od</u></code> के साथ परिवर्तित कर दिया था, इस प्रकार <code><u>done</u></code> ओडी (यूनिक्स) की उपयोगिता के साथ विरोध से सुरक्षित करने के लिए किया गया हैं।
स्टीफन आर. बॉर्न ने बाद में एलगोल 68 का पुन: उपयोग किया <code><u> '''if'''</u> ~ <u>then</u> ~ <u>else</u> ~ <u>'''fi'''</u></code>, <code><u>'''case'''</u> ~ <u>in</u> ~ <u>out</u> ~ <u>'''esac'''</u></code> और <code><u>for</u> ~ <u>while</u> ~ <u>'''do'''</u> ~ <u>'''od'''</u></code> सामान्य [[यूनिक्स]] [[बॉर्न शेल]] में खंड, लेकिन साथ <code><u>in</u></code> के प्रारूप को परिवर्तित करके <code><u>out</u></code> कर दिया था, और बाद में इसे <code><u>od</u></code> में परिवर्तित कर दिया था, इस प्रकार <code><u>done</u></code> ओडी (यूनिक्स) की उपयोगिता के साथ विरोध से सुरक्षित करने के लिए किया गया हैं।


कैंब्रिज के पश्चात, बॉर्न ने [[संस्करण 7 यूनिक्स]] (सातवां संस्करण यूनिक्स) टीम के साथ [[बेल लैब्स]] में नौ साल बिताए गए हैं। इस प्रकार बॉर्न शेल को विकसित करने के साथ-साथ, उन्होंने एलगोल 68C को डेक [[PDP-11|पीडीपी-11]]-45 पर यूनिक्स में पोर्ट किया और एलगोल 68C में लिखे गए प्रोग्राम के लिए स्टैक बैकट्रेस प्राप्त करने के लिए अपने यूनिक्स [[डिबगर]] [[उन्नत डीबगर]] (adb) में विशेष विकल्प सम्मलित किया था। यहाँ यूनिक्स के 7वें संस्करण के मैनुअल पृष्ठों से एक उद्धरण दिया गया है:<ref>{{cite web |url=http://modman.unixdev.net/?sektion=1&page=adb&manpath=v7man |title=The Modular Manual Browser: Adb |website=UnixDev.net |url-status=dead |archive-url=https://web.archive.org/web/20160303175742/http://modman.unixdev.net/?sektion=1&page=adb&manpath=v7man |archive-date=2016-03-03 |access-date=2020-04-17}}</ref>
कैंब्रिज के पश्चात, बॉर्न ने [[संस्करण 7 यूनिक्स]] (सातवां संस्करण यूनिक्स) टीम के साथ [[बेल लैब्स]] में नौ साल बिताए गए हैं। इस प्रकार बॉर्न शेल को विकसित करने के साथ-साथ, उन्होंने एलगोल 68सी को डेक [[PDP-11|पीडीपी-11]]-45 पर यूनिक्स में पोर्ट किया और एलगोल 68सी में लिखे गए प्रोग्राम के लिए स्टैक बैकट्रेस प्राप्त करने के लिए अपने यूनिक्स [[डिबगर]] [[उन्नत डीबगर]] (adb) में विशेष विकल्प सम्मलित किया था। यहाँ यूनिक्स के 7वें संस्करण के मैनुअल पृष्ठों से एक उद्धरण दिया गया है:<ref>{{cite web |url=http://modman.unixdev.net/?sektion=1&page=adb&manpath=v7man |title=The Modular Manual Browser: Adb |website=UnixDev.net |url-status=dead |archive-url=https://web.archive.org/web/20160303175742/http://modman.unixdev.net/?sektion=1&page=adb&manpath=v7man |archive-date=2016-03-03 |access-date=2020-04-17}}</ref>
       NAME
       NAME


Line 45: Line 45:
  are printed.
  are printed.


== एलगोल 68C एक्सटेंशन एलगोल 68 के लिए ==
== एलगोल 68सी एक्सटेंशन एलगोल 68 के लिए ==
नीचे कुछ उल्लेखनीय एक्सटेंशन का नमूना दिया गया है:<ref name="Manual" /> *स्वचालित ऑप:= किसी भी ऑपरेटर के लिए, उदा. <code>*:=</code> और <code>+:=</code>
नीचे कुछ उल्लेखनीय एक्सटेंशन का नमूना दिया गया है:<ref name="Manual" /> *स्वचालित ऑप:= किसी भी ऑपरेटर के लिए, उदा. <code>*:=</code> और <code>+:=</code>
*<code>UPTO</code>, <code>DOWNTO</code> और <code>UNTIL</code> लूप-क्लॉज में उपयोग किया जाता हैं
*<code>UPTO</code>, <code>DOWNTO</code> और <code>UNTIL</code> लूप-क्लॉज में उपयोग किया जाता हैं
Line 56: Line 56:


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


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


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


==== का उदाहरण <code>ENVIRON</code> खंड ====
==== का उदाहरण <code>ENVIRON</code> खंड ====
Line 92: Line 92:
*अन्य
*अन्य


एलगोल 68C के लिए अनुवादक-कंपाइलर [[PDP-10|पीडीपी-10]], आईबीएम सिस्टम/360 और कई अन्य कंप्यूटरों के लिए उपलब्ध था।
एलगोल 68सी के लिए अनुवादक-कंपाइलर [[PDP-10|पीडीपी-10]], आईबीएम सिस्टम/360 और कई अन्य कंप्यूटरों के लिए उपलब्ध था।


==संदर्भ==
==संदर्भ==
Line 107: Line 107:
*{{Official website|bitbucket.org/algol68c/dl}}
*{{Official website|bitbucket.org/algol68c/dl}}
*[https://web.archive.org/web/20050724183114/http://hopl.murdoch.edu.au/showlanguage.prx?exp=667 Cambridge एलगोल 68: on the historical rओपरेटिंग सिस्टमter of computer languages] – includes 10+ publication references.
*[https://web.archive.org/web/20050724183114/http://hopl.murdoch.edu.au/showlanguage.prx?exp=667 Cambridge एलगोल 68: on the historical rओपरेटिंग सिस्टमter of computer languages] – includes 10+ publication references.
*[http://portal.acm.org/ft_gateway.cfm?id=807148&type=pdf A Transportation of एलगोल 68C – PJ Gardner, University of Essex] – March 1977 (From 370 to डेकसिस्टम-10)
*[http://portal.acm.org/ft_gateway.cfm?id=807148&type=pdf A Transportation of एलगोल 68सी – PJ Gardner, University of Essex] – March 1977 (From 370 to डेकसिस्टम-10)
*[https://jmvdveer.home.xs4all.nl/en.post.algol-68-mvs.html Running एलगोल 68C on MVS] - how to install एलगोल 68C on an emulated MVS सिस्टम
*[https://jmvdveer.home.xs4all.nl/en.post.algol-68-mvs.html Running एलगोल 68सी on MVS] - how to install एलगोल 68सी on an emulated MVS सिस्टम


{{ALGOL programming}}
{{ALGOL programming}}

Revision as of 00:28, 24 February 2023

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) 68सी ऐसी अनिवार्य प्रोग्रामिंग है जिसे कंप्यूटर प्रोग्रामिंग में मुख्य प्रोग्रामिंग भाषा के रूप में उपयोग होता रहा हैं, इस प्रोग्रामिंग भाषा को कैम्ब्रिज बीजगणित प्रणाली (CAMAL) में प्रोग्राम करने के लिए स्टीफन आर बॉर्न और माइकल गाॅय द्वारा विकसित किया गया था। प्रारंभिक संकलक प्रिंसटन सिंटैक्स कंपाइलर (PSYCO) में लिखा गया था, जिसे एडगर टी. आयरन्स तथा कैम्ब्रिज के जे. एच. मैथ्यूमैन द्वारा कार्यान्वित किया गया था।

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

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

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

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

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

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

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

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

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

     NAME
      adb - debugger
SYNOPSIS
      adb [-w] [ objfil [ corfil ] ]
[...]
COMMANDS
[...]
       $modifier
             Miscellaneous  commands.   The  available modifiers
             are:
             [...]
             a      ALGOL 68 stack  backtrace.   If  address  is
                    given  then it is taken to be the address of
                    the current frame (instead of r4).  If count
                    is  given  then  only the first count frames
are printed.

एलगोल 68सी एक्सटेंशन एलगोल 68 के लिए

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

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

ENVIRON E> और USING खंड

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

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

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

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

mylib.a68 नामक फ़ाइल:

BEGIN
   INT dim = 3; # a constant #
   INT a number := 120; # a variable #
   ENVIRON EXAMPLE1;
   MODE MATRIX = [dim, dim]REAL; # a type definition #
   MATRIX m1;
   a number := ENVIRON EXAMPLE2;
   print((a number))
END

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

usemylib.a68 नामक फ़ाइल: Mylib से उदाहरण 2 का उपयोग करना

 USING EXAMPLE2 FROM "mylib"
BEGIN
  MATRIX m2; # example only #
  print((a number)); # declared in mylib.a68 #
  print((2 UPB m1)); # also declared in mylib.a68 #
  ENVIRON EXAMPLE3;  # ENVIRONs can be nested #
  666
END

मानक एलगोल 68 से भाषा पर प्रतिबंध

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

एलगोल 68सी के लिए अनुवादक-कंपाइलर पीडीपी-10, आईबीएम सिस्टम/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.


बाहरी संबंध