एल्गोल 60

From alpha
Jump to navigation Jump to search
ALGOL 60
Paradigmsprocedural, imperative, structured
परिवारALGOL
द्वारा डिज़ाइन किया गयाBackus, Bauer, Green, Katz, McCarthy, Naur, Perlis, Rutishauser, Samelson, van Wijngaarden, Vauquois, Wegstein, Woodger
पहली प्रस्तुति1960; 64 years ago (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 [fr] IBM 7090
ALGOL 60 1965 Claude Pair [fr][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 ऐसे आरक्षित शब्द हैं:

  • ALPHA
  • ARRAY
  • BEGIN
  • BOOLEAN
  • COMMENT
  • CONTINUE
  • DIRECT
  • DO
  • DOUBLE
  • ELSE
  • END
  • EVENT
  • FALSE
  • FILE
  • FOR
  • FORMAT
  • GO
  • IF
  • INTEGER
  • LABEL
  • LIST
  • LONG
  • OWN
  • POINTER
  • PROCEDURE
  • REAL
  • STEP
  • SWITCH
  • TASK
  • THEN
  • TRUE
  • UNTIL
  • VALUE
  • WHILE
  • ZIP

मानक बरोज़ लार्ज सिस्टम उप-भाषा में ऐसे 71 प्रतिबंधित पहचानकर्ता हैं:

  • ACCEPT
  • AND
  • ATTACH
  • BY
  • CALL
  • CASE
  • CAUSE
  • CLOSE
  • DEALLOCATE
  • DEFINE
  • DETACH
  • DISABLE
  • DISPLAY
  • DIV
  • DUMP
  • ENABLE
  • EQL
  • EQV
  • EXCHANGE
  • EXTERNAL
  • FILL
  • FORWARD
  • GEQ
  • GTR
  • IMP
  • IN
  • INTERRUPT
  • IS
  • LB
  • LEQ
  • LIBERATE
  • LINE
  • LOCK
  • LSS
  • MERGE
  • MOD
  • MONITOR
  • MUX
  • NEQ
  • NO
  • NOT
  • ON
  • OPEN
  • OR
  • OUT
  • PICTURE
  • PROCESS
  • PROCURE
  • PROGRAMDUMP
  • RB
  • READ
  • RELEASE
  • REPLACE
  • RESET
  • RESIZE
  • REWIND
  • RUN
  • SCAN
  • SEEK
  • SET
  • SKIP
  • SORT
  • SPACE
  • SWAP
  • THRU
  • TIMES
  • TO
  • WAIT
  • WHEN
  • WITH
  • WRITE

और सभी आंतरिक कार्यों के नाम भी।

मानक ऑपरेटर

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] 'कार्यक्रम' (नमस्कार)

  'शुरू करना'
     'टिप्पणी' खुली बोली है '(', बंद है')', प्रिंट करने योग्य स्थान है
               % के रूप में लिखा जाए क्योंकि रिक्त स्थान पर ध्यान नहीं दिया जाता है;
     टेक्स्ट लिखें ('('हेलो% वर्ल्ड')');
  'अंत'
  'खत्म करना'

यह भी देखें


संदर्भ

  1. 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.
  2. ACM अवार्ड साइटेशन / पीटर नौर, 2005
  3. 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.
  4. The Encyclopedia of Computer Languages Archived September 27, 2011, at the Wayback Machine
  5. 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.
  6. 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]
  7. Irons, Edgar T., A syntax directed compiler for ALGOL 60, Communications of the ACM, Vol. 4, p. 51. (Jan. 1961)
  8. Kurtz, Thomas E. (1978). "BASIC". History of programming languages. pp. 515–537. doi:10.1145/800025.1198404. ISBN 0127450408.
  9. 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.
  10. 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.
  11. Rechenautomaten mit Trommelspeicher, Förderverein der Technischen Sammlung Dresden
  12. Kurtz, op. cit., page 517.
  13. 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 [fr]: Université Joseph-Fourier - Grenoble I.{{cite thesis}}: CS1 maint: location (link)
  14. Claude Pair (27 April 1965). Description d'un compilateur ALGOL. European Région 1620 Users Group. IBM.
  15. Kruseman Aretz, F.E.J. (1973). An Algol 60 compiler in Algol 60. Mathematical Centre Tracts. Amsterdam: Mathematisch Centrum.
  16. 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
  17. "803 ALGOL", the manual for Elliott 803 ALGOL
  18. "The ALGOL Programming Language". www.engin.umd.umich.edu. Archived from the original on 9 February 2010. Retrieved 11 January 2022.
  19. "Hello world! Example Program". www.engin.umd.umich.edu. Archived from the original on 4 February 2010. Retrieved 11 January 2022.
  20. Fortran#"Hello, World!" example
  21. "ICL 1900 series: Algol Language". ICL Technical Publication 3340. 1965.


अग्रिम पठन


बाहरी संबंध