BCPL

来自Local Chinese Wikipedia
跳转到导航 跳转到搜索

脚本错误:没有“Infobox”这个模块。脚本错误:没有“Check for unknown parameters”这个模块。

基本组合编程语言Template:Langx),是一种电脑程式设计语言,源自更早的CPL语言,1967年由剑桥大学的马丁·理察德所发展出来的[1]

概述[编辑]

Richards试著移除了CPL中最复杂的组成,第一支BCPL compiler在IBM 7094电脑中完成。身为早期程式语言的BCPL,如今已不再广泛使用,但它的影响却是深远的,今日流行的C语言即是参考BCPL所设计[2]。BCPL被认定为第一个Template:Le[3],作为BCPL后代语言,C语言使用花括号来表示块结构。

范例[编辑]

下列是马丁查理斯的BCPL发行中的范例。

打印阶乘

GET "LIBHDR"

LET START() = VALOF $(
    FOR I = 1 TO 5 DO
        WRITEF("%N! = %I4*N", I, FACT(I))
    RESULTIS 0
$)
AND FACT(N) = N = 0 -> 1, N * FACT(N - 1)

N皇后问题

GET "LIBHDR"

GLOBAL $(
    COUNT: 200
    ALL: 201
$)

LET TRY(LD, ROW, RD) BE
    TEST ROW = ALL THEN
        COUNT := COUNT + 1
    ELSE $(
        LET POSS = ALL & ~(LD | ROW | RD)
        UNTIL POSS = 0 DO $(
            LET P = POSS & -POSS
            POSS := POSS - P
            TRY(LD + P << 1, ROW + P, RD + P >> 1)
        $)
    $)  

LET START() = VALOF $(
    ALL := 1
    FOR I = 1 TO 12 DO $(
        COUNT := 0
        TRY(0, 0, 0)
        WRITEF("%I2-QUEENS PROBLEM HAS %I5 SOLUTIONS*N", I, COUNT)
        ALL := 2 * ALL + 1
    $)
    RESULTIS 0
$)

引用[编辑]

参考文献[编辑]

  • Martin Richards, The BCPL Reference Manual (Memorandum M-352, Project MAC, Cambridge, July, 1967)
  • Martin Richards, BCPL - a tool for compiler writing and systems programming (Proceedings of the Spring Joint Computer Conference, Vol 34, pp 557-566, 1969)
  • Martin Richards, Arthur Evans, Robert F. Mabee, The BCPL Reference Manual (MAC TR-141, Project MAC, Cambridge, 1974)
  • Martin Richards, C. Whitby-Strevens, BCPL, the language and its compiler (Cambridge University Press, 1980) ISBN 0-521-28681-6

脚本错误:没有“Navbox”这个模块。