JOVIAL

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書
JOVIAL
編程範型程序式, 指令式, 結構化
語言家族ALGOL
設計者系統開發公司英語System Development Corporation
實作者軟體工程協會公司[1]
面市時間1960年,​64年前​(1960
型態系統靜態, 強型別, 安全, 結構英語Structural type system
作用域詞法
主要實作產品
MVS英語MVS, OpenVMS, macOS, Windows, Linux, SPARC, PowerPC, MIL-STD-1750A, 和其他遺留系統
衍生副語言
J3, J3B-2, J73
啟發語言
ALGOL, SAGE
影響語言
CMS-2英語CMS-2, Coral 66英語CORAL, SYMPL英語SYMPL

JOVIAL,是一種進階程式語言,基於ALGOL 58,主要針對嵌入式系統開發。JOVIAL包含ALGOL標準所沒有的一些特點,如記錄、記錄陣列、行內組譯等。JOVIAL是1960年代至1970年代主要的系統程式語言英語system programming language[2]

歷史[編輯]

JOVIAL是「Jules Own Version of the International Algorithmic Language.」(朱爾斯自己版本的國際演算法語言)一語的縮寫。[3]JOVIAL於1959年由朱爾斯·施瓦茲英語Jules Schwartz發明,用於編寫軍用飛機電子系統的編寫。

例子[編輯]

下列例子取自《JOVIAL(J73)語言電腦編程手冊》[4]

PROC RETRIEVE(CODE:VALUE);
BEGIN
    ITEM CODE U;
    ITEM VALUE F;
    VALUE = -99999.;
    FOR I:0 BY 1 WHILE I<1000;
        IF CODE = TABCODE(I);
        BEGIN
            VALUE = TABVALUE(I);
            EXIT;
        END
END

這個例子定義了叫做RETRIEVE的一個過程,它接受一個無符號整數輸入參數CODE,和一個浮點輸出參數VALUE。它在陣列TABCODE的前1000個元素中,尋找匹配CODE的專案,並接著將浮點變數VALUE設定成,陣列TABVALUE的有相同匹配陣列索引的那個元素。如果未找到匹配元素,則VALUE被設定成−99999.0

應用案例[編輯]

參考文獻[編輯]

  1. ^ Software Engineering Associates, Inc. (SEA). [2023-07-22]. (原始內容存檔於2019-12-21). 
  2. ^ Mature Development Systems, Field Proven on Hundreds of Applications. DDC-I. Phoenix, Arizona. 2020 [2020-04-22]. (原始內容存檔於2023-03-27). 
  3. ^ 存档副本. [2014-08-26]. (原始內容存檔於2018-06-04). 
  4. ^ Softech, Inc. Computer Programming Manual for the JOVIAL (J73) Language (PDF). Rome, New York: Rome Air Development Center. June 1981: 1 [May 16, 2018]. (原始內容存檔 (PDF)於July 29, 2018).