एल्गोल 60
Paradigms | procedural, imperative, structured |
---|---|
परिवार | ALGOL |
द्वारा डिज़ाइन किया गया | Backus, Bauer, Green, Katz, McCarthy, Naur, Perlis, Rutishauser, Samelson, van Wijngaarden, Vauquois, Wegstein, Woodger |
पहली प्रस्तुति | 1960 |
टाइपिंग अनुशासन | Static, strong |
स्कोप | Lexical |
Influenced by | |
ALGOL 58 | |
Influenced | |
Most subsequent imperative languages (so-called ALGOL-like languages), e.g. Simula, CPL, Pascal, Ada, C |
ALGOL 60 ("एल्गोरिथमिक लैंग्वेज 1960" के लिए संक्षिप्त) कंप्यूटर प्रोग्रामिंग भाषाओं के ALGOL परिवार का एक सदस्य है। यह ALGOL 58 से आगे बढ़ा, जिसने ब्लॉक (प्रोग्रामिंग) और begin
और end
उन्हें सीमांकित करने के लिए जोड़े, संरचित प्रोग्रामिंग के उदय में एक महत्वपूर्ण प्रगति का प्रतिनिधित्व करते हैं। ALGOL 60 शाब्दिक गुंजाइश के साथ नेस्टेड समारोह परिभाषाओं को लागू करने वाली पहली भाषा थी। इसने सीपीएल (प्रोग्रामिंग भाषा), सिमुला, बीसीपीएल, बी (प्रोग्रामिंग भाषा), पास्कल (प्रोग्रामिंग भाषा), और सी (प्रोग्रामिंग भाषा) सहित कई अन्य प्रोग्रामिंग भाषाओं को जन्म दिया। व्यावहारिक रूप से युग के प्रत्येक कंप्यूटर में ALGOL 60 अवधारणाओं पर आधारित एक सिस्टम प्रोग्रामिंग भाषा थी।
पास्कल (प्रोग्रामिंग भाषा) विकसित करने के लिए आगे बढ़ने से पहले निकोलस विर्थ ने ALGOL 60 पर अपना ALGOL W आधारित किया। Algol-W को अगली पीढ़ी के ALGOL होने का इरादा था, लेकिन ALGOL 68 समिति ने एक ऐसे डिज़ाइन पर निर्णय लिया जो एक साफ सरलीकृत ALGOL 60 के बजाय अधिक जटिल और उन्नत था। आधिकारिक ALGOL संस्करणों का नाम उस वर्ष के नाम पर रखा गया है जब वे पहली बार प्रकाशित हुए थे। एल्गोल 68 एल्गोल 60 से काफी अलग है और ऐसा होने के लिए आंशिक रूप से आलोचना की गई थी, इसलिए सामान्य रूप से अल्गोल अल्गोल 60 की बोलियों को संदर्भित करता है।
मानकीकरण
ALGOL 60 - COBOL के साथ - मानकीकरण की तलाश करने वाली पहली भाषाएँ थीं।
- ISO 1538:1984 प्रोग्रामिंग लैंग्वेज - अल्गोल 60 (स्थिर)
- ISO/TR 1672:1977 ALGOL मूल प्रतीकों का हार्डवेयर प्रतिनिधित्व ... (अब वापस ले लिया गया)
इतिहास
ALGOL 60 का उपयोग ज्यादातर संयुक्त राज्य अमेरिका और यूरोप में अनुसंधान कंप्यूटर वैज्ञानिकों द्वारा किया गया था। इसके विवरण में मानक इनपुट/आउटपुट सुविधाओं की अनुपस्थिति और बड़े कंप्यूटर विक्रेताओं द्वारा भाषा में रुचि की कमी के कारण व्यावसायिक अनुप्रयोगों में इसका उपयोग बाधित हुआ। ALGOL 60 हालांकि एल्गोरिदम के प्रकाशन के लिए मानक बन गया और भविष्य के भाषा के विकास पर इसका गहरा प्रभाव पड़ा।
जॉन बैकस ने विशेष रूप से ALGOL 58 के लिए प्रोग्रामिंग भाषाओं का वर्णन करने के लिए बैकस-नौर फॉर्म पद्धति विकसित की। इसे ALGOL 60 के लिए पीटर नौर द्वारा संशोधित और विस्तारित किया गया था, और डोनाल्ड नुथ के सुझाव पर बैकस-नौर फॉर्म का नाम बदल दिया गया।[1] पीटर नौर: ALGOL बुलेटिन के संपादक के रूप में मैं भाषा की अंतर्राष्ट्रीय चर्चाओं में शामिल हो गया था और नवंबर 1959 में यूरोपीय भाषा डिजाइन समूह का सदस्य बनने के लिए चुना गया था। इस क्षमता में मैं ALGOL 60 रिपोर्ट का संपादक था, जिसे इस रूप में तैयार किया गया था जनवरी 1960 में पेरिस में ALGOL 60 बैठक का परिणाम।[2]
निम्नलिखित लोगों ने पेरिस में बैठक में भाग लिया (11 से 16 जनवरी तक):
- फ्रेडरिक एल. बाउर, पीटर नौर, हेंज रूटिशॉसर, क्लाउस सैमल्सन, बर्नार्ड वाउक्विस, एड्रियन वैन वाइनयार्ड्स, और माइकल वुडगर (यूरोप से)
- जॉन बैकस|जॉन डब्ल्यू.बैकस, जूलियन ग्रीन (कंप्यूटर वैज्ञानिक), चार्ल्स काट्ज़, जॉन मैक्कार्थी (कंप्यूटर वैज्ञानिक), एलन पर्लिस|एलन जे. पर्लिस, और जोसेफ हेनरी वेगस्टीन (यूएसए से)।
एलन पेर्लिस ने बैठक का एक विशद विवरण दिया: बैठकें थकाऊ, अंतहीन और उत्साहजनक थीं। जब दूसरों के बुरे विचारों के साथ-साथ अपने अच्छे विचारों को भी त्याग दिया जाता है तो व्यक्ति क्रोधित हो जाता है। फिर भी, पूरी अवधि के दौरान परिश्रम जारी रहा। 13 की केमिस्ट्री बेहतरीन थी।
भाषा में मूल रूप से पुनरावर्तन शामिल नहीं था। कुछ समिति की इच्छा के विरुद्ध, इसे अंतिम समय में विनिर्देशन में सम्मिलित किया गया था। रेफरी>van Emden, Maarten (2014). "कैसे पुनरावर्तन प्रोग्रामिंग में मिला: साज़िश, विश्वासघात और उन्नत प्रोग्रामिंग-भाषा शब्दार्थ की कहानी". A Programmer's Place.</रेफरी>
ALGOL 60 ने इसके बाद आने वाली कई भाषाओं को प्रेरित किया। टोनी होरे ने टिप्पणी की: यहां एक ऐसी भाषा है जो अपने समय से बहुत आगे है कि यह न केवल अपने पूर्ववर्तियों पर बल्कि इसके लगभग सभी उत्तराधिकारियों पर भी सुधार था। रेफरी>Hoare, C.A.R. (December 1973). "प्रोग्रामिंग लैंग्वेज डिजाइन पर संकेत" (PDF). p. 27. (इस कथन को कभी-कभी गलत तरीके से एड्जर डब्ल्यू. डिज्कस्ट्रा के लिए जिम्मेदार ठहराया जाता है, जो पहले एल्गोल 60 संकलक को लागू करने में भी शामिल था।)</ref>[3]
ALGOL 60 कार्यान्वयन समयरेखा
तिथि करने के लिए अल्गोल 60 के कम से कम 70 संवर्द्धन, विस्तार, व्युत्पत्ति और उपभाषाएं हुई हैं।[4]
Name | Year | Author | State | Description | Target CPU | ||
---|---|---|---|---|---|---|---|
X1 ALGOL 60 | August 1960[5] | Edsger W. Dijkstra and Jaap A. Zonneveld | Netherlands | First implementation of ALGOL 60[6] | Electrologica X1 | ||
Algol | 1960[7] | Edgar T. Irons | USA | Algol 60 | CDC 1604 | ||
Burroughs Algol (Several variants) |
1961 | Burroughs Corporation (with participation by Hoare, Dijkstra, and others) | USA | Basis of the Burroughs (and now Unisys MCP based) computers | Burroughs large systems and their midrange as well. | ||
Case ALGOL | 1961 | USA | Simula was originally contracted as a simulation extension of the Case ALGOL | UNIVAC 1107 | |||
GOGOL | 1961 | William M. McKeeman | USA | For ODIN time-sharing system | PDP-1 | ||
DASK ALGOL | 1961 | Peter Naur, Jørn Jensen | Denmark | Algol 60 | DASK at Regnecentralen | ||
SMIL ALGOL | 1962 | Torgil Ekman, Carl-Erik Fröberg | Sweden | Algol 60 | SMIL at Lund University | ||
GIER ALGOL | 1962 | Peter Naur, Jørn Jensen | Denmark | Algol 60 | GIER at Regnecentralen | ||
Dartmouth ALGOL 30[8] | 1962 | Thomas Eugene Kurtz, Stephen J. Garland, Robert F. Hargraves, Anthony W. Knapp, Jorge LLacer | USA | Algol 60 | LGP-30 | ||
Alcor Mainz 2002 | 1962 | Ursula Hill-Samelson, Hans Langmaack | Germany | Siemens 2002 | |||
ALCOR-ILLINOIS 7090 | 1962 [9][10] |
Manfred Paul, Hans Rüdiger Wiehle, David Gries, and Rudolf Bayer | USA, West Germany | Algol 60 Implemented at Illinois and the TH München, 1962-1964 |
IBM 7090 | ||
USS 90 Algol | 1962 | L. Petrone | Italy | ||||
Elliott ALGOL | 1962 | C. A. R. Hoare | UK | Discussed in his 1980 Turing Award lecture | Elliott 803 & the Elliott 503 | ||
Algol 60 | 1962 | Roland Strobel[11] | East Germany | Implemented by the Institute for Applied Mathematics, German Academy of Sciences at Berlin | Zeiss-Rechenautomat ZRA 1 | ||
Algol Translator | 1962 | G. van der Mey and W.L. van der Poel | Netherlands | Staatsbedrijf der Posterijen, Telegrafie en Telefonie | ZEBRA | ||
Kidsgrove Algol | 1963 | F. G. Duncan | UK | English Electric Company KDF9 | |||
SCALP[12] | 1963 | Stephen J. Garland, Anthony W. Knapp, Thomas Eugene Kurtz | USA | Self-Contained ALgol Processor for a subset of Algol 60 | LGP-30 | ||
VALGOL | 1963 | Val Schorre | USA | A test of the META II compiler compiler | |||
FP6000 Algol | 1963 | Roger Moore | Canada | written for Saskatchewan Power Corp | FP6000 | ||
Whetstone | 1964 | Brian Randell and Lawford John Russell | UK | Atomic Power Division of English Electric Company. Precursor to Ferranti Pegasus, National Physical Laboratories ACE and English Electric DEUCE implementations. | English Electric Company KDF9 | ||
ALGOL 60 | 1964 | Jean-Claude Boussard[13] | France | Institut d'informatique et mathématiques appliquées de Grenoble | IBM 7090 | ||
ALGOL 60 | 1965 | Claude Pair[14] | France | Centre de calcul de la Faculté des Sciences de Nancy | IBM 1620 | ||
Dartmouth ALGOL | 1965 | Stephen J. Garland, Sarr Blumson, Ron Martin | USA | Algol 60 | Dartmouth Time Sharing System for the GE 235 | ||
NU ALGOL | 1965 | Norway | UNIVAC | ||||
Algol 60 | 1965[15] | F.E.J. Kruseman Aretz | Netherlands | MC compiler for the EL-X8 | Electrologica X8 | ||
ALGEK | 1965 | USSR | Minsk-22 | АЛГЭК, based on ALGOL-60 and COBOL support, for economical tasks | |||
MALGOL | 1966 | publ. A. Viil, M Kotli & M. Rakhendi, | Estonian SSR | Minsk-22 | |||
ALGAMS | 1967 | GAMS group (ГАМС, группа автоматизации программирования для машин среднего класса), cooperation of Comecon Academies of Science | Comecon | Minsk-22, later ES EVM, BESM | |||
ALGOL/ZAM | 1967 | Poland | Polish ZAM computer | ||||
Chinese Algol | 1972 | China | Chinese characters, expressed via the Symbol system | ||||
DG/L | 1972 | USA | DG Eclipse family of Computers | ||||
NASE | 1990 | Erik Schoenfelder | Germany | Interpreter | Linux and MS Windows | ||
MARST | 2000 | Andrew Makhorin | Russia | Algol-60 to C translator | All CPUs supported by the GNU Compiler Collection; MARST is part of the GNU project |
बरोज़ बोलियों में विशेष सिस्टम प्रोग्रामिंग बोलियाँ शामिल थीं जैसे कार्यकारी प्रणाली समस्या उन्मुख भाषा और NEWP।
गुण
आधिकारिक तौर पर परिभाषित ALGOL 60 में कोई I/O सुविधा नहीं थी; कार्यान्वयन ने स्वयं को ऐसे तरीकों से परिभाषित किया जो शायद ही कभी एक दूसरे के साथ संगत थे। इसके विपरीत, ALGOL 68 ने ट्रांसपुट की एक विस्तृत लाइब्रेरी (इनपुट/आउटपुट के लिए ALGOL 68 भाषा) सुविधाओं की पेशकश की।
ALGOL 60 ने पैरामीटर (कंप्यूटर साइंस) पास करने के लिए दो मूल्यांकन रणनीति प्रदान की: कॉमन कॉल-टू-मूल्य से और कॉल-बाय-नेम। प्रत्येक औपचारिक पैरामीटर के लिए निर्दिष्ट प्रक्रिया घोषणा, जिसका उपयोग किया जाना था: कॉल-बाय-वैल्यू के लिए निर्दिष्ट 'मान', और कॉल-बाय-नाम के लिए छोड़ा गया। कॉल-टू-संदर्भ द्वारा के विपरीत कॉल-बाय-नेम के कुछ प्रभाव हैं। उदाहरण के लिए, पैरामीटर को मान या संदर्भ के रूप में निर्दिष्ट किए बिना, ऐसी प्रक्रिया विकसित करना असंभव है जो दो पैरामीटर के मानों को स्वैप कर देगी यदि वास्तविक पैरामीटर जो एक पूर्णांक चर और एक सरणी है जो उसी पूर्णांक चर द्वारा अनुक्रमित है .[16] फ़ंक्शन में स्वैप (i, A [i]) पर पॉइंटर पास करने के बारे में सोचें। अब जब हर बार स्वैप का संदर्भ दिया जाता है, तो इसका पुनर्मूल्यांकन किया जाता है। कहो मैं: = 1 और ए [i]: = 2, इसलिए हर बार स्वैप का संदर्भ दिया जाता है, यह मूल्यों के अन्य संयोजन को वापस कर देगा ([1,2], [2,1], [1,2] और इसी तरह पर)। इसी तरह की स्थिति वास्तविक तर्क के रूप में पारित एक यादृच्छिक कार्य के साथ होती है।
कॉल-बाय-नाम कई कंपाइलर डिजाइनरों द्वारा दिलचस्प थंक (विलंब संगणना) के लिए जाना जाता है जो इसे लागू करने के लिए उपयोग किया जाता है। डोनाल्ड नुथ ने आदमी या लड़का परीक्षण को अलग-अलग कंपाइलरों के लिए तैयार किया जो सही ढंग से पुनरावर्तन (कंप्यूटर विज्ञान) और गैर-स्थानीय संदर्भों को लागू करते हैं। इस परीक्षण में कॉल-बाय-नाम का एक उदाहरण है।
ALGOL 60 आरक्षित शब्द और प्रतिबंधित पहचानकर्ता
मानक बरोज़ लार्ज सिस्टम्स उप-भाषा में 35 ऐसे आरक्षित शब्द हैं:
|
|
|
|
|
मानक बरोज़ लार्ज सिस्टम उप-भाषा में ऐसे 71 प्रतिबंधित पहचानकर्ता हैं:
|
|
|
|
|
और सभी आंतरिक कार्यों के नाम भी।
मानक ऑपरेटर
Priority | Operator | |
---|---|---|
first arithmetic |
first | ↑ (power) |
second | ×, / (real), ÷ (integer) | |
third | +, - | |
second | <, ≤, =, ≥, >, ≠ | |
third | ¬ (not) | |
fourth | ∧ (and) | |
fifth | ∨ (or) | |
sixth | ⊃ (implication) | |
seventh | ≡ (equivalence) |
उदाहरण और पोर्टेबिलिटी मुद्दे
कोड नमूना तुलना
अल्गोल 60
प्रक्रिया एब्समैक्स (ए) आकार: (एन, एम) परिणाम: (वाई) सबस्क्रिप्ट: (i, के); मूल्य एन, एम; सरणी ए; पूर्णांक एन, एम, आई, के; असली वाई; टिप्पणी मैट्रिक्स ए का पूर्ण सबसे बड़ा तत्व, आकार एन बटा एम, को y में कॉपी किया जाता है, और इस तत्व के सबस्क्रिप्ट को i और k में कॉपी किया जाता है; शुरू पूर्णांक पी, क्यू; वाई: = 0; मैं := के := 1; p के लिए := 1 चरण 1 तक n करें q के लिए := 1 चरण 1 तक m करें अगर एब्स (ए [पी, क्यू])> वाई तो बेगिन वाई: = एब्स (ए [पी, क्यू]); मैं := पी; के:= क्यू अंत एब्समैक्स को समाप्त करें
बोल्ड में टेक्स्ट को कैसे लिखा जाना चाहिए, इसके क्रियान्वयन में भिन्नता है। शब्द 'INTEGER', उद्धरण चिह्नों सहित, उपरोक्त पूर्णांक के स्थान पर कुछ कार्यान्वयनों में उपयोग किया जाना चाहिए, जिससे इसे एक विशेष कीवर्ड के रूप में (वाक्यविन्यास) किया जा सके।
इलियट 803 ALGOL का उपयोग करके तालिका बनाने का एक उदाहरण निम्नलिखित है:[17] फ़्लोटिंग पॉइंट एल्गोल टेस्ट'
वास्तविक ए, बी, सी, डी 'शुरू करें पुनः जोड़ो' A के लिए:= 0.0 STEP D 6.3 DO तक शुरू प्रिंट PUNCH(3),££L??' बी := पाप (ए)' सी := सीओएस(ए)' प्रिंट PUNCH(3),SAMELINE,ALIGNED(1,6),ए,बी,सी' और 'ईएनडी'
ALGOL 60 परिवार
चूंकि ALGOL 60 में कोई I/O सुविधा नहीं थी, इसलिए ALGOL में कोई पोर्टेबल हैलो वर्ल्ड प्रोग्राम नहीं है। निम्नलिखित प्रोग्राम यूनिसिस ए-सीरीज मेनफ्रेम के लिए एएलजीओएल कार्यान्वयन पर संकलित (और अभी भी) चल सकता है, और भाषा गाइड से लिए गए कोड का एक सीधा सरलीकरण है।[18] मिशिगन-डियरबॉर्न कंप्यूटर और सूचना विश्वविद्यालय में विज्ञान विभाग नमस्ते दुनिया! ALGOL उदाहरण कार्यक्रम पृष्ठ।[19] शुरू
फ़ाइल एफ (तरह = रिमोट); EBCDIC सरणी ई [0:11]; ई को हेलो वर्ल्ड से बदलें! ; राइट (एफ, *, ई); अंत।
जहां * आदि फोरट्रान में उपयोग किए जाने वाले प्रारूप विनिर्देश का प्रतिनिधित्व करते हैं, उदा।[20] एक इनलाइन प्रारूप का उपयोग कर एक सरल प्रोग्राम:
BEGIN
FILE F(KIND=REMOTE);
WRITE(F, <"HELLO WORLD!">);
END.
डिस्प्ले स्टेटमेंट का उपयोग करने वाला एक और भी सरल प्रोग्राम:
BEGIN DISPLAY("HELLO WORLD!") END.
इलियट एल्गोल I/O का उपयोग करने वाला एक वैकल्पिक उदाहरण इस प्रकार है। इलियट अल्गोल ने ओपन-स्ट्रिंग-कोट और क्लोज-स्ट्रिंग-कोट के लिए अलग-अलग वर्णों का इस्तेमाल किया, जिसे यहां दर्शाया गया है ‘ और ’ .
program HiFolks;
begin
print ‘Hello world’
end;
यहाँ इलियट 803 अल्गोल (ए104) के लिए एक संस्करण है मानक इलियट 803 में 5-होल पेपर टेप का उपयोग किया गया था और इस प्रकार केवल ऊपरी केस था। कोड में किसी भी उद्धरण वर्ण की कमी थी इसलिए खुले उद्धरण के लिए £ (पाउंड चिह्न) का उपयोग किया गया था और ? (प्रश्न चिह्न) करीबी उद्धरण के लिए। विशेष दृश्यों को दोहरे उद्धरण चिह्नों में रखा गया था (जैसे £L?? ने टेलीप्रिंटर पर एक नई पंक्ति बनाई)।
हाय दोस्तों' शुरू प्रिंट £हैलो वर्ल्ड£एल?' अंत'
ICT 1900 श्रृंखला Algol I/O संस्करण ने पेपर टेप या पंच कार्ड से इनपुट की अनुमति दी। पेपर टेप 'फुल' मोड में लोअर केस की अनुमति है। आउटपुट एक लाइन प्रिंटर के लिए था। '(', ')' और % का उपयोग नोट करें।[21] 'कार्यक्रम' (नमस्कार)
'शुरू करना' 'टिप्पणी' खुली बोली है '(', बंद है')', प्रिंट करने योग्य स्थान है % के रूप में लिखा जाए क्योंकि रिक्त स्थान पर ध्यान नहीं दिया जाता है; टेक्स्ट लिखें ('('हेलो% वर्ल्ड')'); 'अंत' 'खत्म करना'
यह भी देखें
- एबीसी अल्गोल
- अल्गोल
- एल्गोल 58
- एल्गोल एन
- एल्गोल 68
- अल्गोल डब्ल्यू
- अल्गोल एक्स
- एटलस ऑटोकोड
- मूंगा 66
- एडिनबर्ग आईएमपी
- जेन्सेन का उपकरण
- मैं तैरता हूं
- आनंदपूर्ण
- नेलियाक
- सिमुलेशन
- एस-अल्गोल
- योजना (प्रोग्रामिंग भाषा)
संदर्भ
- ↑ Knuth, Donald E. (December 1964). "Backus normal Form vs Backus Naur Form". Comm. ACM. 7 (12): 735–6. doi:10.1145/355588.365140. S2CID 47537431.
- ↑ ACM अवार्ड साइटेशन / पीटर नौर, 2005
- ↑ Abelson, Hal; Dybvig, R. K.; et al. Rees, Jonathan; Clinger, William (eds.). "Revised(3) Report on the Algorithmic Language Scheme, (Dedicated to the Memory of ALGOL 60)". Retrieved 2009-10-20.
- ↑ The Encyclopedia of Computer Languages Archived September 27, 2011, at the Wayback Machine
- ↑ Daylight, E. G. (2011). "Dijkstra's Rallying Cry for Generalization: the Advent of the Recursive Procedure, late 1950s – early 1960s". The Computer Journal. 54 (11): 1756–1772. doi:10.1093/comjnl/bxr002.
- ↑ Kruseman Aretz, F.E.J. (30 June 2003). "The Dijkstra-Zonneveld ALGOL 60 compiler for the Electrologica X1" (PDF). Software Engineering. History of Computer Science. Amsterdam: Centrum Wiskunde & Informatica.[permanent dead link]
- ↑ Irons, Edgar T., A syntax directed compiler for ALGOL 60, Communications of the ACM, Vol. 4, p. 51. (Jan. 1961)
- ↑ Kurtz, Thomas E. (1978). "BASIC". History of programming languages. pp. 515–537. doi:10.1145/800025.1198404. ISBN 0127450408.
- ↑ Gries, D.; Paul, M.; Wiehle, H. R. (1965). "Some techniques used in the ALCOR ILLINOIS 7090". Communications of the ACM. 8 (8): 496–500. doi:10.1145/365474.365511. S2CID 18365024.
- ↑ Bayer, R.; Gries, D.; Paul, M.; Wiehle, H. R. (1967). "The ALCOR Illinois 7090/7094 post mortem dump". Communications of the ACM. 10 (12): 804–808. doi:10.1145/363848.363866. S2CID 3783605.
- ↑ Rechenautomaten mit Trommelspeicher, Förderverein der Technischen Sammlung Dresden
- ↑ Kurtz, op. cit., page 517.
- ↑ Jean-Claude Boussard (June 1964). Design and implementation of a compiler Algol60 on electronic calculator IBM 7090/94 and 7040/44 (phdthesis). Institut d'informatique et mathématiques appliquées de Grenoble : Université Joseph-Fourier - Grenoble I.
{{cite thesis}}
: CS1 maint: location (link) - ↑ Claude Pair (27 April 1965). Description d'un compilateur ALGOL. European Région 1620 Users Group. IBM.
- ↑ Kruseman Aretz, F.E.J. (1973). An Algol 60 compiler in Algol 60. Mathematical Centre Tracts. Amsterdam: Mathematisch Centrum.
- ↑ Aho, Alfred V.; Ravi Sethi; Jeffrey D. Ullman (1986). Compilers: Principles, Techniques, and Tools (1st ed.). Addison-Wesley. ISBN 978-0-201-10194-2., Section 7.5, and references therein
- ↑ "803 ALGOL", the manual for Elliott 803 ALGOL
- ↑ "The ALGOL Programming Language". www.engin.umd.umich.edu. Archived from the original on 9 February 2010. Retrieved 11 January 2022.
- ↑ "Hello world! Example Program". www.engin.umd.umich.edu. Archived from the original on 4 February 2010. Retrieved 11 January 2022.
- ↑ Fortran#"Hello, World!" example
- ↑ "ICL 1900 series: Algol Language". ICL Technical Publication 3340. 1965.
अग्रिम पठन
- Dijkstra, Edsger W. (1961). "ALGOL 60 Translation: An ALGOL 60 Translator for the X1 and Making a Translator for ALGOL 60 (PDF) (Technical report). Amsterdam: Mathematisch Centrum. 35.
- Randell, Brian; Russell, Lawford John (1964). ALGOL 60 Implementation: The Translation and Use of ALGOL 60 Programs on a Computer. Academic Press. OCLC 526731. The design of the Whetstone Compiler. One of the early published descriptions of implementing a compiler. See the related papers: Whetstone Algol Revisited, and The Whetstone KDF9 Algol Translator by Brian Randell
बाहरी संबंध
- Revised Report on the Algorithmic Language Algol 60 by Peter Naur, et al. ALGOL definition
- A BNF syntax summary of ALGOL 60
- "The Emperor's Old Clothes" – Hoare's 1980 ACM Turing Award speech, which discusses ALGOL history and his involvement
- MARST, a free Algol-to-C translator
- An Implementation of ALGOL 60 for the FP6000 Archived 2020-07-25 at the Wayback Machine Discussion of some implementation issues.
- Naur, Peter (August 1978). "The European Side of the Last Phase of the Development of ALGOL 60". ACM SIGPLAN Notices. 13 (8): 15–44. doi:10.1145/960118.808370. S2CID 15552479.
- Edinburgh University wrote compilers for Algol60 (later updated for Algol60M) based on their Atlas Autocode compilers initially bootstrapped from the Atlas to the KDF-9. The Edinburgh compilers generated code for the ICL1900, the ICL4/75 (an IBM360 clone), and the ICL2900. Here is the BNF for Algol60 Archived 2020-05-15 at the Wayback Machine and the ICL2900 compiler source Archived 2020-05-15 at the Wayback Machine, library documentation Archived 2020-05-15 at the Wayback Machine, and a considerable test suite Archived 2020-05-15 at the Wayback Machine including Brian Wichmann's tests. Archived 2020-05-15 at the Wayback Machine Also there is a rather superficial Algol60 to Atlas Autocode source-level translator Archived 2020-05-15 at the Wayback Machine.
- Eric S. Raymond's Retrocomputing Museum, among others a link to the NASE Algol-60 interpreter written in C.
- The NASE interpreter
- Stories of the B5000 and People Who Were There: a dedicated ALGOL computer [1], [2]
- Hermann Bottenbruch (1961). Structure and Use of ALGOL 60 (Report). doi:10.2172/4020495. OSTI 4020495.
- NUMAL A Library of Numerical Procedures in ALGOL 60 developed at The Stichting Centrum Wiskunde & Informatica (legal successor of Stichting Mathematisch Centrum) legal owner.
- Algol 60 resources: translators, documentation, programs
- Algol-60 included in Racket.
- Articles with dead external links from March 2021
- Templates that generate short descriptions
- Collapse templates
- Navigational boxes
- Navigational boxes without horizontal lists
- Sidebars with styles needing conversion
- Templates generating microformats
- Templates that are not mobile friendly
- Wikipedia metatemplates
- अल्गोल 60
- अल्गोल प्रोग्रामिंग भाषा परिवार
- अकादमिक प्रोग्रामिंग भाषाएं
- प्रक्रियात्मक प्रोग्रामिंग भाषाएँ
- संरचित प्रोग्रामिंग भाषाएँ
- सिस्टम प्रोग्रामिंग भाषाएं
- 1960 में बनाई गई प्रोग्रामिंग लैंग्वेज
- ALGOL 60 कोड उदाहरण के साथ लेख
- आईएसओ मानक के साथ प्रोग्रामिंग भाषाएँ
- Machine Translated Page
- Created On 17/02/2023