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