Algol-W Algol-W

Algol-W - Definition and Overview

Algol-W is a programming language. It was Niklaus Wirth's proposal for a successor to ALGOL 60 in the ALGOL 68 committee.

Algol-W is clearly a transitionary stage between ALGOL 60 and Pascal (created later by Wirth also). It represented a relatively conservative modification of ALGOL 60; to ALGOL 60 Wirth added string, bitstring, complex number and reference to record datatypes and a call-by-result parameter passing mechanism but changed little else.

Like the rest of Wirth's languages (Pascal, Modula-2, Oberon, etc.), Algol-W is small and statically typed. The language that eventually became ALGOL 68 is much larger and more complex than Algol-W, and it differs more from Algol 60 than Algol-W does.

Code Sample

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

External References

Stanford Computer Science Department Technical Report CS-TR-68-89 (http://www-db.stanford.edu/TR/CS-TR-68-89.html) Various documents for Stanford University's 1972 implementation of Algol-W. The report includes the Algol W Language Description.

Copyright 2009 WordIQ.com - Privacy Policy  :: Terms of Use  :: Contact Us  :: About Us
This article is licensed under the GNU Free Documentation License. It uses material from the this Wikipedia article.