begin 
    real x;
    integer i;
        i := 10000000000000000000000000;
        x := 1.0@999
end 

algol
begin 
comment library 1;
    real autocorrelationcoefficientnumber1;
        autocorrelationcoefficientnumber1 := 0.0;
        begin 
        real autocorrelationcoefficientnumber2;
            autocorrelationcoefficientnumber2 := 1.0;
            outreal(1, autocorrelationcoefficientnumber1 +
                autocorrelationcoefficientnumber2 )
        end 
end 

algol
l1:
begin 
    if 1 = 2 then 
        goto l1
end 


algol
SIN: COS:
begin 
    real SIN;
        SIN := 0.0
end 

algol
l1:
if 1 = 2 then 
        goto l1

algol
begin 
    integer x, y, z;
        x := y := z := 1.0;
        if x < y < z then 
end 


algol

begin 

    comment library 1;

    boolean 
        assign; 
    procedure p(x); 
        real 
            x; 
        begin 
        outreal(1, x); 
        if assign then 
            x := 3.14; 
        end; 

    real 
        x, 
        y; 
    assign := false; 
    p(1.0); 
    x := y := 2.0;
    p(x + y); 
    assign := true; 
    p(x); 
    p(1.0); 
    outreal(1, 1.0)
end 


algol
begin 
    real x, y;
        x := y := 0.0;
    real z;
end 

algol
begin 
    comment a syntax pass is required to remove comments;
    procedure p( st );comment st is a string;comment;
        string st; ;comment dummy body;
    p( [;'COMMENT'[;]] );
    begin 
        procedure q( a ) parameter comment :( b );
            real a, b; ;comment dummy again;
        q( 1.0, 2.5 ); comment is the same as;
        q( 1.0) with parameter comment:( 2.5 );
    end comment can include most basic symbols for 
        while then do if := begin ( which are not matched;
end 



algol
begin 
    procedure p( st, a ); string st, a;
        ;
    p( [;'COMMENT'] )valid:( [;] ); comment could fail too few parameters;
end 

kdf9