
'BEGIN'

    'COMMENT'   et comment;


    'COMMENT' library 1;

    'REAL' 
        c; 
    'ARRAY' 
        d[ - 0 : + 1, 0@0 : 1.0]; 
    'INTEGER' 'PROCEDURE' r(c); 
        'REAL' 
            c; 
        r := 
            'IF' 'TRUE' 'THEN' 
                c
            'ELSE'
                r(0); 

    d[0, 0] := c := c := 1; 
    'BEGIN'
        'REAL' 'PROCEDURE' p; 
            'BEGIN'
            q(a, b, c, a[1])encore : (b[1], (1)); 
            'FOR' c := 1 'STEP' 1 'UNTIL' 'IF' 'FALSE' 'THEN' p
                    'ELSE' 1 'DO'
                'FOR' c := 1, 
                    2 'DO'
                    ; 
            p := (0)
            'END' :p; 

        'SWITCH' b := 
            (b[2]), 
            l, 
            'IF' 'IF' a[1] = 0 'AND' 'NOT' 'FALSE' 'THEN' 'TRUE'
                'ELSE' 'FALSE' 'THEN' b[a[1] + 1] 'ELSE' l; 
        'INTEGER' 'ARRAY' 
            h, 
            a[1 : c + d[0, 1 - (r( + 1))]], 
            j[0 : 1]; 
        'PROCEDURE' q(a, b, c, d)e : (e, f); 
            'INTEGER' 
                f; 
            'SWITCH' 
                b; 
            'INTEGER' 'ARRAY' 
                a; 
            'REAL' 
                c; 
            'REAL' 
                d; 
            'LABEL' 
                e; 
            ; 


        'COMMENT'   'BEGIN' 'COMMENT' 'END';

        a[1] := 0; 
        l :; 
        outreal(1, p); 
        c := c + 1 * 1^1; 
        'IF' c = 2 'THEN' 
            'GOTO' b[p + 3]
    'END' 
'END' 


!ALGOL

'BEGIN'
'COMMENT' library 1;
    'INTEGER' 
        n; 
    'INTEGER' 'PROCEDURE' p(q, r); 
        'INTEGER' 'PROCEDURE' 
            r, 
            q; 

        'COMMENT'   (r):'INTEGER' 'PROCEDURE' r;

        'BEGIN'
        'INTEGER' 
            b; 
        b := 3 * q(r); 
        p := b
        'END'; 

    'INTEGER' 'PROCEDURE' a(f); 
        'INTEGER' 'PROCEDURE' 
            f; 
        a := 2 * f; 

    'INTEGER' 'PROCEDURE' b; 
        'BEGIN'
        n := n - 1; 
        b := 
            'IF' n = 0 'THEN' 
                1
            'ELSE'
                p(a, b) + 1
        'END'; 

    n := 2; 
    n := p(a, b); 
    outreal(1, n)
'END' 


!ALGOL

'BEGIN'

    'COMMENT' library 3;


    'REAL' 'PROCEDURE' a(k, x1, x2, x3, x4, x5); 
        'VALUE' 
            k; 
        'INTEGER' 
            k; 
        'REAL' 
            x1, 
            x2, 
            x3, 
            x4, 
            x5; 
        'BEGIN'
        'REAL' 'PROCEDURE' b; 
            'BEGIN'
            k := k - 1; 
            b := a := a(k, b, x1, x2, x3, x4)
            'END'; 

        'IF' k <= 0 'THEN' 
            a := x4 + x5
        'ELSE' 'IF' b < 0 'THEN' 

        'END'; 

    outreal(1, cputime); 
    outreal(1, a(10, 1, - 1, - 1, 1, 0)); 
    outreal(1, cputime); 
'END' 



!ALGOL

'BEGIN'

    'COMMENT' library 1;

    'INTEGER' 
        j, 
        k, 
        s; 
    'INTEGER' 'PROCEDURE' f(n); 
        'VALUE' 
            n; 
        'INTEGER' 
            n; 
        'BEGIN'
        'INTEGER' 
            i, 
            l; 
        'FOR' i := n, 
            s 'DIV' 2 'WHILE' s < 16 'OR' s = 28 'DO'
            'BEGIN'
            s := s + i + n; 
            l := i
            'END'; 
        f := n + l; 
        'END' f; 

    s := - 1; 
    'FOR' j := f(2), 
        f(3) 'WHILE' s = 97 'DO'
        'BEGIN'
        s := s + f(5) + j + s; 
        k := j
        'END'; 
    s := s + k; 
    outreal(1, s)
'END' 


!ALGOL

'BEGIN'

    'COMMENT' library 1;

    'REAL' 'PROCEDURE' g(x); 
        'REAL' 
            x; 
        g := x + 1; 

    'REAL' 'PROCEDURE' a(h); 
        'REAL' 'PROCEDURE' 
            h; 

        'COMMENT'   (h1): 'REAL' h1;

        'BEGIN'
        'REAL' 'PROCEDURE' loc(x); 
            'REAL' 
                x; 
            loc := h(g(x)); 

        a := loc(0); 
        'END' a; 

    'REAL' 'PROCEDURE' b(f, h); 
        'REAL' 'PROCEDURE' 
            f; 

        'COMMENT'   (f1): 'REAL' f1;

        'REAL' 'PROCEDURE' 
            h; 

        'COMMENT'   (h1): 'REAL' 'PROCEDURE' h1;

        b := f(h(f) + a(g) + g(1)); 

    outreal(1, b(g, a))
'END' 


!ALGOL

'BEGIN'

    'COMMENT' library 1;

    'PROCEDURE' p(f); 
        'REAL' 'PROCEDURE' 
            f; 

        'COMMENT'   (f1):'LABEL' f1;

        f((m)); 

    b1 :; 
    'BEGIN'
        'REAL' 'PROCEDURE' q(l); 
            'LABEL' 
                l; 
            'BEGIN'
            'GOTO' l; 
            q := 0; 
            outreal(1, 1)
            'END'; 

        b2 :; 
        'BEGIN'
            'REAL' 
                i; 
            'GOTO' n; 
            i := 2; 
            outreal(1, i)
        'END'; 
        n :; 
        p(q); 
        outreal(1, 3); 
    'END' b1;  
    outreal(1, 4); 
    m :; 
    outreal(1, 5)
'END' 



!ALGOL

'BEGIN'

    'COMMENT' library 1;

    'INTEGER' 
        x, 
        n, 
        k; 
    'REAL' 'PROCEDURE' sigma(i, k, l, t); 
        'VALUE' 
            l; 
        'INTEGER' 
            i, 
            k, 
            l; 
        'REAL' 
            t; 
        'BEGIN'
        'REAL' 
            x; 
        x := 0; 
        'FOR' i := k 'STEP' 1 'UNTIL' l 'DO'
            x := t + x; 
        sigma := x
        'END' sigma; 

    x := sigma(n, 1, 4, sigma(k, 1, n, 2) - 1); 

    'COMMENT'   working in august 1960 at amsterdam;

    outreal(1, x)
'END' 


!ALGOL

'BEGIN'

    'COMMENT' library 1;

    'REAL' 'PROCEDURE' r(a); 
        'REAL' 
            a; 
        'BEGIN'
        'INTEGER' 'PROCEDURE' p(b, c); 
            'INTEGER' 
                b, 
                c; 
            p := b + c; 

        r := p(a + 1, a)
        'END' r; 

    'REAL' 
        x; 
    'BEGIN'
        'REAL' 
            y; 
        y := 4; 
        x := r(r(y + 1))
    'END'; 
    outreal(1, x)
'END' 


!ALGOL

'BEGIN'

    'COMMENT' library 1;

    'PROCEDURE' p(a, b, c, d); 
        'VALUE' 
            b, 
            c; 
        'REAL' 
            a, 
            b; 
        'ARRAY' 
            c, 
            d; 
        'BEGIN'
        a := a + 1; 
        s := s + a + b + c[1, 2] + d[1, 2]; 
        d[1, 2] := 2
        'END'; 

    'INTEGER' 'ARRAY' 
        a[16384 : 16385, - 16383 : - 16382]; 
    'INTEGER' 
        s; 
    'ARRAY' 
        b[1 : 2, 0 : 2]; 
    a[16384, - 16383] := 3.0; 
    b[1, 2] := a[16384, - 16383]; 
    'BEGIN'
        'INTEGER' 'ARRAY' 
            g[1 : b[1, 2], 0 : 2]; 
        s := 0; 
        g[1, 0] := g[2, 0] := g[3, 0] := g[1, 1] := g[2, 1]
            := g[3, 1] := g[1, 2] := g[2, 2] := g[3, 2]
            := 1; 
        p(b[1, 2], b[1, 2], g, b); 
        s := s + b[1, 2]; 
        outreal(1, s)
    'END' 
'END' 




!ALGOL
'BEGIN'
    'COMMENT' library 1;
    'INTEGER' i,
    'ARRAY' a[ 1 : 1 ];
    i := a[1] := 1;
    outreal(1, i + a[1])
'END'

!KDF9
