25 lines
862 B
Text
25 lines
862 B
Text
#!/usr/local/bin/spar
|
|
pragma annotate( summary, "stripcomment" )
|
|
@( description, "The task is to remove text that follow any of a set of" )
|
|
@( description, "comment markers, (in these examples either a hash or a" )
|
|
@( description, "semicolon) from a string or input line." )
|
|
@( see_also, "http://rosettacode.org/wiki/Strip_comments_from_a_string" )
|
|
@( author, "Ken O. Burtch" );
|
|
pragma license( unrestricted );
|
|
|
|
pragma restriction( no_external_commands );
|
|
|
|
procedure stripcomment is
|
|
line : constant string := get_line;
|
|
eol : natural := 0;
|
|
ch : character;
|
|
begin
|
|
for i in 1..strings.length( line ) loop
|
|
ch := strings.element( line, i );
|
|
exit when ch = '#' or ch = ';';
|
|
eol := i;
|
|
end loop;
|
|
if eol > 0 then
|
|
? strings.trim( strings.slice( line, 1, eol ), trim_end.both );
|
|
end if;
|
|
end stripcomment;
|