Algol W
Un article de Wikipédia, l'encyclopédie libre.
|
Cet article est une ébauche concernant l?informatique.
Vous pouvez partager vos connaissances en l?améliorant (comment ?) selon les recommandations des projets correspondants.
|
Algol W est une version du langage Algol due à Niklaus Wirth, proposée comme successuer d'Algol 60 au comité Algol 68. Bien qu'antérieure au Pascal, elle était plus puissante à certains points de vue. En particulier toute expression ou tout bloc, en Algol W, ramenait un résultat, ce qui permettait l'écriture d'expressions particulièrement élégantes.
Algol-W est visiblement une étape transitoire entre ALGOL 60 et Pascal. Il représente une modification relativement légère de d'ALGOL 60, auquel N. Wirth a ajouté les types de données "string", "bitstring", les nombres complexes et les références à des enregistrements (structures), ainsi que le passage de paramètres par valeur, sans changer grand chose d'autre.
Comme tous les autres langages de Wirth (Pascal, Modula-2, Oberon, etc.), Algol-W est un petit langage à typage statique qui diffère beaucoup moins d'Algol 60 que d'Algol 68, langage nettement plus "gros" et plus complexe.
[] Exemple
record PERSON (
string NAME;
integer AGE;
logical MALE;
reference(PERSON) FATHER, MOTHER, YOUNGESTOFFSPRING, ELDERSIBLING
);
reference(PERSON) procedure YOUNGESTUNCLE (reference(PERSON) R);
begin
reference(PERSON) P, M;
P := YOUNGESTOFFSPRING(FATHER(FATHER(R)));
while (P ¬= null) and (¬ MALE(P)) or (P = FATHER(R)) do
P := ELDERSIBLING(P);
M := YOUNGESTOFFSPRING(MOTHER(MOTHER(R)));
while (M ¬= null) and (¬ MALE(M)) do
M := ELDERSIBLING(M);
if P = null then
M
else if M = null then
P
else
if AGE(P) < AGE(M) then P else M
end
La source est wikipedia http://fr.wikipedia.org/wiki/Algol W
Revue de presse Algol_W
