ALGOL W

ALGOL W,一種程式語言,為ALGOL家族的一份子。它基於尼克勞斯·維爾特東尼·霍爾IFIP Working Group 2.1提出的 ALGOL X草案而設計,希望能作為ALGOL 60的後繼者[1]。經過小幅度的修改[2],在史丹福大學尼克勞斯·維爾特利用IBM/360機器,實作出第一版的ALGOL W[3]

ALGOL W
程序編程, 指令式編程, 结构化编程
實作者Niklaus Wirth, C. A. R. Hoare
1966年1966
啟發語言
ALGOL 60
影響語言
Pascal, Modula-2

它的編譯器是用尼克勞斯·維爾特所設計的PL360組語所寫成[4]

例子

下面例子展示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

引用

  1. Niklaus Wirth & C. A. R Hoare (1966) A contribution to the development of ALGOL. Communications of the ACM, Vol.9, pp. 413–432
  2. Niklaus Wirth (1966), Additional notes on "A Contribution to the Development of ALGOL", ALGOL Bulletin, Number 24 pp. 13 - 17.
  3. Stanford Computer Science Department Technical Report CS-TR-68-89 页面存档备份,存于 (Various documents for Stanford University's 1972 implementation of ALGOL W; this report includes the ALGOL W Language Description.)
  4. (PDF). [2020-05-16]. (原始内容存档 (PDF)于2016-03-04).

外部链接

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.