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