ALGOL 60

0

Algol 60 (abréviation de Algorithmic Language 1960 ) est un membre de la famille ALGOL des langages de programmation informatique. Il faisait suite à ALGOL 58 qui avait introduit les blocs de code et les paires beginet endpour les délimiter, représentant une avancée clé dans l’essor de la programmation structurée . Algol 60 a été le premier langage à implémenter des définitions de fonctions imbriquées avec une Portée lexicale . Il a donné naissance à de nombreux autres langages de programmation, notamment CPL , Simula , BCPL , B , Pascal et C. Pratiquement tous les ordinateurs de l’époque avaient un langage de programmation système basé sur les concepts Algol 60.

Algol 60

Paradigmes procédural , impératif , structuré
Famille ALGOL
Conçu par Backus , Bauer , Green , Katz , McCarthy , Naur , Perlis , Rutishauser , Samelson , van Wijngaarden , Vauquois , Wegstein , Woodger
Première apparition 1960 ; il y a 62 ans ( 1960 )
Discipline de frappe Statique , fort
Portée Lexical
Influencé par
ALGOL 58
Influencé
La plupart des langages impératifs ultérieurs (appelés langages de type ALGOL ), par exemple Simula , CPL , Pascal , Ada , C

Niklaus Wirth a basé son propre ALGOL W sur Algol 60 avant de passer au développement de Pascal . Algol-W était destiné à être la prochaine génération d’ALGOL, mais le comité ALGOL 68 a décidé d’une conception plus complexe et avancée plutôt qu’un Algol 60 simplifié et nettoyé. Les versions officielles d’ALGOL portent le nom de l’année de leur première publication. Algol 68 est sensiblement différent d’Algol 60 et a été critiqué en partie pour l’être, de sorte qu’en général “Algol” se réfère aux dialectes d’Algol 60.

Standardisation

Algol 60 – avec COBOL – ont été les premiers langages à rechercher la standardisation.

  • ISO 1538:1984 Langages de programmation – Algol 60 (stabilisé)
  • ISO/TR 1672:1977 Représentation matérielle des symboles de base ALGOL… (maintenant retirée)

Histoire

Algol 60 était principalement utilisé par des informaticiens de recherche aux États-Unis et en Europe. Son utilisation dans les applications commerciales a été entravée par l’absence de fonctionnalités d’entrée / sortie standard dans sa description et le manque d’intérêt pour le langage par les grands fournisseurs d’ordinateurs. Algol 60 est cependant devenu la norme pour la publication d’algorithmes et a eu un effet profond sur le développement futur du langage.

John Backus a développé la méthode de forme normale Backus pour décrire les langages de programmation spécifiquement pour ALGOL 58. Elle a été révisée et étendue par Peter Naur pour Algol 60 et, à la suggestion de Donald Knuth , renommée forme Backus – Naur . [1]

Peter Naur : “En tant que rédacteur en chef du Bulletin ALGOL, j’ai été entraîné dans les discussions internationales sur la langue et j’ai été sélectionné pour être membre du groupe de conception de la langue européenne en novembre 1959. À ce titre, j’ai été l’éditeur du rapport Algol 60, produit à la suite de la réunion Algol 60 à Paris en janvier 1960.” [2]

Les personnes suivantes ont assisté à la réunion à Paris (du 11 au 16 janvier) :

  • Friedrich L. Bauer , Peter Naur , Heinz Rutishauser , Klaus Samelson , Bernard Vauquois , Adriaan van Wijngaarden et Michael Woodger (d’Europe)
  • John W. Backus , Julien Green , Charles Katz , John McCarthy , Alan J. Perlis et Joseph Henry Wegstein (des États-Unis).

Alan Perlis a donné une description vivante de la réunion : “Les réunions étaient épuisantes, interminables et exaltantes. On s’aggravait quand ses bonnes idées étaient rejetées avec les mauvaises des autres. Néanmoins, la diligence a persisté pendant toute la période. La chimie de le 13 était excellent.”

À l’origine, le langage n’incluait pas la récursivité . Il a été inséré dans le cahier des charges à la dernière minute, contre la volonté de certains membres du comité. [3]

Algol 60 a inspiré de nombreuses langues qui l’ont suivi. Tony Hoare a fait remarquer: “Voici une langue tellement en avance sur son temps qu’elle n’était pas seulement une amélioration par rapport à ses prédécesseurs mais aussi à presque tous ses successeurs.” [4] [5]

Chronologie des implémentations Algol 60

À ce jour, il y a eu au moins 70 augmentations, extensions, dérivations et sous-langues d’Algol 60. [6]

Nom An Auteur État La description UC cible
X1 Algol 60 Août 1960 [7] Edsger W. Dijkstra et Jaap A. Zonneveld Pays-Bas Première implémentation d’Algol 60 [8] Électrologica X1
Algol 1960 [9] Edgar T. Irons Etats-Unis Algol 60 CDC 1604
Burroughs Algol
(plusieurs variantes)
1961 Burroughs Corporation (avec la participation de Hoare , Dijkstra et autres) Etats-Unis Base des ordinateurs Burroughs (et maintenant basés sur Unisys MCP ) Les grands systèmes Burroughs
et leur milieu de gamme également.
Cas ALGOL 1961 Etats-Unis Simula a été contracté à l’origine en tant qu’extension de simulation du cas ALGOL UNIVAC 1107
GOGOL 1961 William M. McKeeman Etats-Unis Pour le système de temps partagé ODIN PDP-1
ALGOL DASK 1961 Peter Naur , Jørn Jensen Danemark Algol 60 DASK à Regnecentralen
ALGOL SMIL 1962 Torgil Ekman , Carl-Erik Fröberg Suède Algol 60 SMIL à l’Université de Lund
GIER ALGOL 1962 Peter Naur , Jørn Jensen Danemark Algol 60 GIER à Regnecentralen
Dartmouth ALGOL 30 [10] 1962 Thomas Eugene Kurtz , Stephen J. Garland , Robert F. Hargraves, Anthony W. Knapp , Jorge LLacer Etats-Unis Algol 60 LGP-30
Alcor Mayence 2002 1962 Ursula Hill-Samelson, Hans Langmaack Allemagne Siemens 2002
ALCOR-ILLINOIS 7090 1962
[11] [12]
Manfred Paul, Hans Rüdiger Wiehle, David Gries et Rudolf Bayer États-Unis, Allemagne de l’Ouest Algol 60 mis
en œuvre à l’Illinois et au TH München , 1962-1964
IBM 7090
USS 90 Algol 1962 L. Petrone Italie
Elliott ALGOL 1962 Voiture Hoare ROYAUME-UNI Discuté dans sa conférence du prix Turing 1980 Elliott 803 et l’Elliott 503
Algol 60 1962 Roland Strobel [13] Allemagne de l’est Mis en œuvre par l’Institut de mathématiques appliquées de l’Académie allemande des sciences de Berlin Zeiss-Rechenautomat ZRA 1
Traducteur Algol 1962 G. van der Mey et WL van der Poel Pays-Bas Staatsbedrijf der Posterijen, Telegrafie en Telefonie ZÈBRE
Kidsgrove Algol 1963 F.G. Duncan ROYAUME-UNI Compagnie d’électricité anglaise KDF9
CUIR CHEVELU [14] 1963 Stephen J. Garland , Anthony W. Knapp , Thomas Eugène Kurtz Etats-Unis Processeur ALgol autonome pour un sous-ensemble d’Algol 60 LGP-30
VALGOL 1963 Val Schorré Etats-Unis Un test du compilateur compilateur META II
Algol FP6000 1963 Roger Moore Canada écrit pour Saskatchewan Power Corp FP6000
Pierre à aiguiser 1964 Brian Randell et Lawford John Russell ROYAUME-UNI Division de l’énergie atomique de la English Electric Company. Précurseur des implémentations Ferranti Pegasus , National Physical Laboratories ACE et English Electric DEUCE . Compagnie d’électricité anglaise KDF9
Algol 60 1964 Jean Claude Boussard [15] France Institut d’informatique et mathématiques appliquées de Grenoble [ en ] IBM 7090
Algol 60 1965 Claude Paire [ en ] [ 16] France Centre de calcul de la Faculté des Sciences de Nancy IBM 1620
ALGOL de Dartmouth 1965 Stephen J. Garland , Sarr Blumson, Ron Martin Etats-Unis Algol 60 Système de temps partagé Dartmouth pour le GE 235
NU ALGOL 1965 Norvège UNIVAC
Algol 60 1965 [17] FEJ Kruseman Aretz Pays-Bas Compilateur MC pour l’EL-X8 Electrologica X8
ALGEK 1965 URSS Minsk-22 АЛГЭК, basé sur le support ALGOL-60 et COBOL , pour des tâches économiques
MALGOL 1966 publ. A. Viil, M Kotli & M. Rakhendi, RSS d’Estonie Minsk-22
ALGAMES 1967 Groupe GAMS (ГАМС, группа автоматизации программирования для машин среднего класса), coopération des Académies des sciences du Comecon Comecon Minsk-22 , plus tard ES EVM , BESM
ALGOL/ZAM 1967 Pologne Ordinateur ZAM polonais
Algol chinois 1972 Chine Caractères chinois, exprimés via le système de symboles
DG/L 1972 Etats-Unis Famille d’ordinateurs DG Eclipse
NASE 1990 Erik Schoenfelder Allemagne Interprète Linux et MS Windows
MARST 2000 André Makhorin Russie Traducteur Algol-60 vers C Tous les processeurs pris en charge par la collection de compilateurs GNU ; MARST fait partie du projet GNU

Les dialectes Burroughs comprenaient des dialectes de programmation système spéciaux tels que ESPOL et NEWP .

Propriétés

Algol 60 tel que défini officiellement n’avait pas d’installations d’E / S; les implémentations définissaient les leurs de manière rarement compatible les unes avec les autres. En revanche, ALGOL 68 offrait une vaste bibliothèque d’installations de transput (langage ALGOL 68 pour Input/Output).

Algol 60 a fourni deux stratégies d’évaluation pour le passage de paramètres : l’ appel commun par valeur et l’appel par nom . La déclaration de procédure spécifiait, pour chaque paramètre formel, qui devait être utilisé : valeur spécifiée pour l’Appel par valeur, et omise pour l’appel par nom. L’appel par nom a certains effets contrairement à l’ Appel par référence . Par exemple, sans spécifier les paramètres comme value ou reference , il est impossible de développer une procédure qui échangera les valeurs de deux paramètres si les paramètres réels qui sont passés sont une variable entière et un tableau qui est indexé par cette même variable entière . [18]Pensez à passer un pointeur vers swap(i, A[i]) dans une fonction. Maintenant que chaque fois que le swap est référencé, il est réévalué. Dites i := 1 et A[i] := 2, donc chaque fois que swap est référencé, il renverra l’autre combinaison de valeurs ([1,2], [2,1], [1,2] et ainsi de suite sur). Une situation similaire se produit avec une fonction aléatoire passée comme argument réel.

L’Appel par le nom est connu de nombreux concepteurs de compilateurs pour les ” thunks ” intéressants qui sont utilisés pour l’implémenter. Donald Knuth a conçu le ” test homme ou garçon ” pour séparer les compilateurs qui implémentaient correctement ” la récursivité et les références non locales “. Ce test contient un exemple d’Appel par le nom.

Algol 60 Mots réservés et identifiants restreints

Il existe 35 mots réservés de ce type dans le sous-langage standard des grands systèmes de Burroughs :

  • 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

Il existe 71 identifiants restreints de ce type dans le sous-langage standard des grands systèmes de Burroughs :

  • 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

ainsi que les noms de toutes les fonctions intrinsèques.

Opérateurs standards

Priorité Opérateur
première
arithmétique
première ↑ (puissance)
seconde ×, / (réel), ÷ (entier)
troisième +, –
seconde <, ≤, =, ≥, >, ≠
troisième ¬ (pas)
Quatrième ∧ (et)
cinquième ∨ (ou)
sixième ⊃ (implication)
septième ≡ (équivalence)

Exemples et problèmes de portabilité

Comparaisons d’échantillons de code

Algol 60 procédure Absmax(a) Taille :(n, m) Résultat :(y) Indices :(i, k) ; valeur n, m; tableau un ; entier n, m, i, k ; réel y ; commentaire Le plus grand élément absolu de la matrice a, de taille n par m, est transféré en y, et les indices de cet élément en i et k ; commencer l’entier p, q ; y := 0; je := k := 1; pour p := 1 pas 1 jusqu’à n faire pour q := 1 pas 1 jusqu’à m faire si abs(a[p, q]) > y alors commencer y := abs(a[p, q]); je := p; k := q fin fin Absmax

Les implémentations diffèrent dans la façon dont le texte en gras doit être écrit. Le mot ‘INTEGER’, y compris les guillemets, doit être utilisé dans certaines implémentations à la place de integer , ci-dessus, le désignant ainsi comme un mot-clé spécial.

Voici un exemple de la façon de produire une table en utilisant Elliott 803 ALGOL : [19]

TEST ALGOL POINT FLOTTANT’ COMMENCER VRAI A,B,C,D’ LIRE D’ POUR A:= 0.0 PAS D JUSQU’À 6.3 FAIRE COMMENCER PRINT PUNCH(3) ,££L ? ?‘ B := NAS(A) C := COS(A) PRINT PUNCH(3) , SAMELINE , ALIGNÉ (1,6) ,A,B,C’ FINIR’ FINIR’ Famille Algol 60

Comme Algol 60 n’avait pas d’installations d’E / S, il n’y a pas de programme portable hello world dans ALGOL. Le programme suivant pourrait (et le sera toujours) compiler et s’exécuter sur une implémentation ALGOL pour un mainframe Unisys A-Series, et est une simple simplification du code tiré de The Language Guide [20] à l’ Université du Michigan – Dearborn Computer and Information Science Département Bonjour tout le monde ! Page d’exemple de programme ALGOL. [21]

COMMENCER FICHIER F(GENRE=DISTANT); TABLEAU EBCDIC E[0:11] ; REMPLACER E PAR “HELLO WORLD!”; ECRITURE(F, *, E); FINIR.

Où * etc. représentait une spécification de format telle qu’utilisée dans FORTRAN, par exemple [22]

Un programme plus simple utilisant un format en ligne :

DEBUT FICHIER F ( GENRE = DISTANT ); ÉCRIRE ( F , < “BONJOUR LE MONDE!” > ); FIN .

Un programme encore plus simple utilisant l’instruction Display :

COMMENCEZ L’ AFFICHAGE ( “HELLO WORLD!” ) FIN .

Un exemple alternatif, utilisant Elliott Algol I/O est le suivant. Elliott Algol a utilisé des caractères différents pour “open-string-quote” et “close-string-quote”, représentés ici par et .

programme HiFolks ; begin print Hello world end ;

Voici une version pour l’Elliott 803 Algol (A104) L’Elliott 803 standard utilisait une bande de papier à 5 trous et n’avait donc que des majuscules. Le code manquait de guillemets donc £ (signe dièse) a été utilisé pour les guillemets ouverts et ? (point d’interrogation) pour une citation proche. Des séquences spéciales ont été placées entre guillemets doubles (par exemple, £. £L?? a produit une nouvelle ligne sur le téléimprimeur).

SALUT LES GENS’ COMMENCER IMPRIMER £ BONJOUR MONDE £ L ? » FINIR’

La version d’E / S Algol de la série ICT 1900 permettait l’entrée à partir d’une bande papier ou d’une carte perforée. Le mode ‘plein’ de la bande papier autorise les minuscules. La sortie était destinée à une imprimante ligne. Notez l’utilisation de (,) et %. [23]

‘PROGRAMME’ (BONJOUR) ‘COMMENCER’ ‘COMMENTAIRE’ OUVRIR LA CITATION EST (, FERMER EST ), L’ESPACE IMPRIMABLE DOIT ECRIRE COMME % PARCE QUE LES ESPACES SONT IGNORES ; ÉCRIRE TEXTE((‘BONJOUR%MONDE’)); ‘FINIR’ ‘TERMINER’

Voir également

  • ABC ALGOL
  • ALGOL
  • ALGOL 58
  • ALGOL N
  • ALGOL 68
  • ALGOL W
  • ALGOL X
  • Code automatique Atlas
  • Corail 66
  • IMP d’Édimbourg
  • L’appareil de Jensen
  • JE NAGE
  • JOVIAL
  • NÉLIAC
  • Simule
  • S-algol
  • Schéma (langage de programmation)

Références

  1. ^ Knuth, Donald E. (décembre 1964). “Forme normale de Backus contre forme de Backus Naur”. Comm. ACM . 7 (12): 735–6. doi : 10.1145/355588.365140 . S2CID 47537431 .
  2. ^ Citation de prix ACM / Peter Naur , 2005
  3. ^ van Emden, Martin (2014). “Comment la récursivité est entrée dans la programmation: une histoire d’intrigue, de trahison et de sémantique avancée du langage de programmation” . La place d’un programmeur .
  4. ^ Hoare, CAR (décembre 1973). “Conseils sur la conception de langage de programmation” (PDF) . p. 27. (Cette déclaration est parfois attribuée à tort à Edsger W. Dijkstra , également impliqué dans la mise en œuvre du premier compilateur Algol 60 .)
  5. ^ Abelson, Hal; Dybvig, RK; et coll. Rees, Jonathan ; Clinger, William (éd.). “Rapport révisé (3) sur le schéma de langage algorithmique, (dédié à la mémoire d’Algol 60)” . Récupéré le 20/10/2009 .
  6. ^ L’Encyclopédie des langages informatiques Archivée le 27 septembre 2011 à la Wayback Machine
  7. ^ Lumière du jour, EG (2011). “Le cri de ralliement de Dijkstra pour la généralisation: l’avènement de la procédure récursive, fin des années 1950 – début des années 1960” . La revue informatique . 54 (11): 1756-1772. doi : 10.1093/comjnl/bxr002 .
  8. ^ Kruseman Aretz, FEJ (30 juin 2003). “Le compilateur Dijkstra-Zonneveld Algol 60 pour l’Electrologica X1″ (PDF) . Génie logiciel . Histoire de l’informatique. Amsterdam : Centrum Wiskunde & Informatica. [ lien mort permanent ]
  9. ^ Irons, Edgar T. , Un compilateur dirigé par syntaxe pour Algol 60, Communications de l’ACM, Vol. 4, p. 51. (janvier 1961)
  10. ^ Thomas E. Kurtz, “Basique” , Histoire des langages de programmation , Association for Computing Machinery, juin 1978, page 516.
  11. ^ Gries, D.; Paul, M.; Wiehle, HR (1965). “Quelques techniques utilisées dans l’ALCOR ILLINOIS 7090” . Communications de l’ACM . 8 (8): 496–500. doi : 10.1145/365474.365511 . S2CID 18365024 .
  12. ^ Bayer, R.; Gries, D.; Paul, M.; Wiehle, HR (1967). “La décharge post mortem d’ALCOR Illinois 7090/7094” . Communications de l’ACM . 10 (12): 804–808. doi : 10.1145/363848.363866 . S2CID 3783605 .
  13. ^ Rechenautomaten mit Trommelspeicher , Förderverein der Technischen Sammlung Dresde
  14. ^ Kurtz, op. cit. , page 517.
  15. Jean-Claude Boussard (juin 1964). Conception et implémentation d’un compilateur Algol60 sur calculatrice électronique IBM 7090/94 et 7040/44 (thèse de doctorat). Institut d’informatique et mathématiques appliquées de Grenoble [ fr ] : Université Joseph-Fourier – Grenoble I. {{cite thesis}}: Maint CS1: emplacement ( lien )
  16. ^ Claude Paire (27 avril 1965). Description d’un compilateur ALGOL . Groupe d’utilisateurs de la région européenne 1620 . IBM.
  17. ^ Kruseman Aretz, FEJ (1973). Un compilateur Algol 60 dans Algol 60 . Tracts du centre mathématique. Amsterdam : Mathematisch Centrum.
  18. ^ Aho, Alfred V. ; Ravi Sethi ; Jeffrey D. Ullman (1986). Compilateurs: principes, techniques et outils (1ère éd.). Addison-Wesley. ISBN 978-0-201-10194-2., Section 7.5, et les références qui s’y trouvent
  19. ^ “803 ALGOL” , le manuel d’ Elliott 803 ALGOL
  20. ^ “Le langage de programmation ALGOL” . www.engin.umd.umich.edu . Archivé de l’original le 9 février 2010 . Récupéré le 11 janvier 2022 .
  21. ^ “Bonjour le monde! Exemple de programme” . www.engin.umd.umich.edu . Archivé de l’original le 4 février 2010 . Récupéré le 11 janvier 2022 .
  22. ^ Fortran # “Bonjour, monde!” Exemple
  23. ^ “Série ICL 1900: Langue Algol” . Publication technique ICL 3340. 1965.

Lectures complémentaires

  • En ligneDijkstra, Edsger W. (1961). Algol 60 Translation: An Algol 60 Translator for the X1 and Making a Translator for Algol 60 (PDF) (Rapport technique). Amsterdam: Mathematisch Centrum. 35.
  • Randell, Brian ; Russel, Lawford John (1964). Implémentation d’Algol 60 : la traduction et l’utilisation des programmes Algol 60 sur un ordinateur . Presse académique. OCLC 526731 .La conception du compilateur Whetstone . L’une des premières descriptions publiées de l’implémentation d’un compilateur. Voir les articles connexes : Whetstone Algol Revisited et The Whetstone KDF9 Algol Translator par Brian Randell

Liens externes

  • Rapport révisé sur le langage algorithmique Algol 60 par Peter Naur, et al. Définition ALGOL
  • Un résumé de la syntaxe BNF d’Algol 60
  • “Les vieux vêtements de l’empereur” – Discours du prix ACM Turing de Hoare en 1980, qui traite de l’histoire d’ALGOL et de son implication
  • MARST , un traducteur Algol-C gratuit
  • Une implémentation d’Algol 60 pour le FP6000 Archivé le 25/07/2020 sur la Wayback Machine Discussion sur certains problèmes d’implémentation.
  • Naur, Peter (août 1978). “Le côté européen de la dernière phase du développement d’Algol 60” . Avis ACM SIGPLAN . 13 (8) : 15–44. doi : 10.1145/960118.808370 . S2CID 15552479 .
  • L’Université d’Édimbourg a écrit des compilateurs pour Algol60 (mis à jour plus tard pour Algol60M) basés sur leurs compilateurs Atlas Autocode initialement amorcés de l’Atlas au KDF-9. Les compilateurs d’Édimbourg ont généré du code pour l’ICL1900, l’ICL4/75 (un clone d’IBM360) et l’ICL2900. Voici le BNF pour Algol60 Archivé le 15/05/2020 sur la Wayback Machine et la source du compilateur ICL2900 Archivé le 15/05/2020 sur la Wayback Machine , la documentation de la bibliothèque Archivé le 15/05/2020 sur la Wayback Machine et une suite de tests considérable Archivé le 15/05/2020 sur la Wayback Machine , y comprisLes tests de Brian Wichmann. Archivé le 15/05/2020 sur la Wayback Machine Il existe également un traducteur de niveau source Algol60 vers Atlas Autocode assez superficiel Archivé le 15/05/2020 sur la Wayback Machine .
  • Retrocomputing Museum d’ Eric S. Raymond , entre autres un lien vers l’interpréteur NASE Algol-60 écrit en C.
  • L’interpréteur NASE
  • Histoires du B5000 et des gens qui y étaient : un ordinateur ALGOL dédié [1] , [2]
  • Hermann Bottenbruch (1961). “Structure et utilisation d’Algol 60” . doi : 10.2172/4020495 . {{cite journal}}: Cite journal requires |journal= (help)
  • NUMAL Une bibliothèque de procédures numériques en Algol 60 développée au Stichting Centrum Wiskunde & Informatica ( successeur légal du Stichting Mathematisch Centrum) propriétaire légal .
  • Ressources Algol 60 : traducteurs, documentation, programmes
  • Algol-60 inclus dans Racket.
You might also like
Leave A Reply

Your email address will not be published.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More