ALGOL W
来自维基百科,自由的百科全书
来自维基百科,自由的百科全书
ALGOL W,一種程式語言,為ALGOL家族的一份子。它基於尼克勞斯·維爾特與東尼·霍爾在IFIP Working Group 2.1提出的 ALGOL X草案而設計,希望能作為ALGOL 60的後繼者[1]。經過小幅度的修改[2],在史丹福大學,尼克勞斯·維爾特利用IBM System/360機器,以PL360實作出第一版的ALGOL W[3] 。
下面例子展示ALGOL W的记录类型设施:
RECORD PERSON (
STRING(20) 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