'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
