Au-delà d'Algol 60, l'objectif des concepteurs d'Algol 68 était d'offrir un langage de programmation universel, résolument innovant, dérivant sa puissance d'une conception orthogonale.
En Algol 68:
le programmeur peut définir de nouveaux types de données, de nouveaux opérateurs, peut surcharger et étendre des opérateurs prédéfinis; il peut ainsi adapter le langage à un domaine spécifique d'application;
des processus peuvent s'exécuter en parallèle, et se synchroniser à l'aide de sémaphores;
les entrées/sorties exploitent des volumes organisés en livres, pages et lignes.
Niklaus Wirth qui faisait à l'origine partie du groupe de travail a refusé l'innovation extrême d'Algol 68 et a fait sécession pour proposer Algol W qui deviendra par la suite Pascal.
Syntaxe
La syntaxe a été définie à l'aide d'une grammaire indépendante du contexte, à deux niveaux, qui porte le nom de son concepteur Adriaan van Wijngaarden. Le Rapport Révisé (1973) a montré que la grammaire d'Algol 68, proposée par van Wijngaarden, caractérise tout programme Algol 68 valide. En effet, elle formalise aussi les contraintes contextuelles et/ou sémantiques du langage, décrites antérieurement en langue naturelle de façon plus ou moins ambiguë.
Réification
L'analyse syntaxique d'Algol 68 a été implantée dans les premiers compilateurs par du code ad hoc ajouté à un analyseur lexical traditionnel.
Algol 68R est le premier dialecte ALGOL 68 à avoir disposé d'un compilateur, réalisé en 1970 au Royal Radar and Signal Establishment de Malvern (UK).
Voir aussi
Bibliographie
Groupe Algol de l'AFCET. Définition du langage algorithmique ALGOL 68; présent. et trad. française du Report on the algorithmic language Algol 68 éd. par J. Buffet, P. Arnal, A. Quéré - 1972 - Hermann (Actualités scientifiques et industrielles) - VII-222 p.; 24 cm