begin 
    real x )invalid parameter like comments:(y;
        x := y := 0.0
end 
algol
begin 
    procedure q( st ) invalid parameter like comments ( a );
        string st; real a; ;
        q( [az] ) also in the call( 1.0 )
end 
algol
begin 
    labelscannotpreceedcomments: comment should fail;
        goto labelscannotpreceedcomments
end 
algol
       begin 
                procedure q( st )invalid parameter comment :( a );
                        string st; real a; ;
                q( [str] ) az09:( 1.0 )
        end 
algol
begin 
    procedure q( st1 )p:( st2 ); comment ;
        string st1, st2; ;
    q( [;'COMMENT' ) az: (];] )invalid:( [st2] )
end 
algol
begin 
    comment   string tests;
    procedure p(st); 
        string 
            st; 
        ; 
    p( [*string 'STRING' [nested[[]]] 'BEGIN' 'END';] ); 
    p( [ ,
        ] )
end 
algol
begin 
    real 
        real, 
        integer, 
        begin, 
        end; 
    real := 0.0
end 
algol
begin 
    real 
        a, 
        ab, 
        abc, 
        abcd, 
        abcde, 
        abcdef, 
        abcdefg, 
        abcdefgh, 
        abcdefghi, 
        abcdefghij, 
        abcdefghijk, 
        abcdefghijkl, 
        abcdefghijklm, 
        abcdefghijklmn, 
        abcdefghijklnmo, 
        abcdefghijklnmop, 
        abcdefghijklmnopq, 
        abcdefghijklnmopqr, 
        abcdefghijklmnopqrs, 
        abcdefghijklmnopqrst, 
        abcdefghijklmnopqrstu, 
        abcdefghijklmnopqrstuv, 
        abcdefghijklmnopqrstuvw, 
        abcdefghijklmnopqrstuvwx, 
        abcdefghijklmnopqrstuvwxy, 
        abcdegfhijklmnopqrstuvwxyz, 
        abcdefghijklmnpoqrstuvwxyza, 
        abcdefghijklmnopqrstuvwxyzab, 
        abcdefghijklmnopqrstuvwxyzabc, 
        abcdefghijklmnopqrstuvwxyzabcd, 
        abcdefghijklmnopqrstuvwxyzabcde, 
        abcdefghijklmnopqrstuvwxyzabcdef, 
        abcdefghijklmnopqrstuvwxyzabcdefg, 
        abcdefghijklmnopqrstuvwxyzabcdefgh, 
        abcdefghijklnmopqrstuvwxyzabcdefghi, 
        abcdefghijklmnopqrstuvwxyzabcdefghij, 
        abcdefghijklmnopqrstuvwxyzabcdefghijk, 
        abcdefghijklmnopqrstuvwxyzabcdefghijkl, 
        abcdefghijklmnopqrstuvwxyzabcdefghijklm, 
        abcdefghijklmnopqrstuvwxyzabcdefghijklmn, 
        abcdefghijklmnopqrstuvwxyzabcdefghijklmno,
        abcdefghijklmnopqrstuvwxyzabcdefghijklmnop, 
        abcdefghijklmnopqrstuvwxyzabcdefghijklmnopq, 
        abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqr, 
        abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrs, 
        abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrst, 
        abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstu, 
        abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuv; 
        integer ac, 
        c a; 
    ac := 1 2  3    4     5     6; 
    a := 1 . 0 0  @  1  0
end 
algol
begin 
comment library 1;
    array 
        a[1 : 3], 
        b[1 : 3, 1 : 3]; 
    real procedure sum(dim, a); 
        value 
            dim; 
        integer 
            dim; 
        array 
            a; 
        sum := 
            if dim = 1 then 
                a[1] + a[2] + a[3]
            else 
                sum2(a); 
    real procedure sum2(a); 
        array 
            a; 
        sum2 := a[1, 1] + a[1, 2] + a[1, 3] + a[2, 1] + a[2, 2] +
            a[2, 3] + a[3, 1] + a[3, 2] + a[3, 3]; 
    integer 
        i, 
        j; 
    for i := 1, 
        2, 
        3 do 
        begin 
        a[i] := i * i; 
        for j := 1, 
            2, 
            3 do 
            b[i, j] := a[i] + j
        end; 
    outreal(1,sum(2, a)); 
    outreal(1,sum(1, b))
end 
algol
begin 
comment library 1;
    array 
        a[1 : 3], 
        b[1 : 3, 1 : 3]; 
    real procedure sum(dim, a); 
        value 
            dim; 
        integer 
            dim; 
        array 
            a; 
        sum := 
            if dim = 1 then 
                a[1] + a[2] + a[3]
            else 
                sum2(a); 
    real procedure sum2(a); 
        array 
            a; 
        sum2 := a[1, 1] + a[1, 2] + a[1, 3] + a[2, 1] + a[2, 2] +
            a[2, 3] + a[3, 1] + a[3, 2] + a[3, 3]; 
    integer 
        i, 
        j; 
    for i := 1, 
        2, 
        3 do 
        begin 
        a[i] := i * i; 
        for j := 1, 
            2, 
            3 do 
            b[i, j] := a[i] + j
        end; 
    outreal(1,sum(1, a)); 
    outreal(1,sum(2, b))
end 
kdf9