BCPL: Basic Combind Programming Language

[top]

  1. Ancestor of C, offspring of Algol-60 and CPL.
  2. Mono-type, low-level systems programming language.
  3. There is a portable compiler, written in BCPL itself.
  4. Example: Calculate prime numbers.

    // BCPL program to printe prime numbers up to "N"
    GET "LIBHDR"
    
    MANIFEST $( N = 1000 $)
    
    LET START() BE
    $(
    	LET CNT = 0
    
            LET ISPRIME(P) = VALOF $(F
    		LET ISP(P, D) = VALOF $(
    			IF D * D > P THEN RESULTIS TRUE
    			IF P REM D = 0 THEN RESULTIS FALSE
    			RESULTIS ISP(P, D + 2)
    		$)
    
    		TEST P = 2 THEN
                        RESULTIS TRUE
    		ELSE $(
                        TEST P REM 2 = 0 THEN
                            RESULTIS FALSE
    		    ELSE
                            RESULTIS ISP(P, 3)
    	$)F
    
    
            FOR I = 2 TO N DO
    		IF ISPRIME(I) THEN $(
    	                WRITEF("%I8", I)
    			CNT := CNT + 1
    		$)
    	WRITEF("*N%I6 primes*N", CNT)
    $)
    

  5. References:

[top]