Annotation of OpenXM_contrib/PHC/Ada/System/file_scanning.adb, Revision 1.1
1.1 ! maekawa 1: package body File_Scanning is
! 2:
! 3: procedure Scan ( file : in file_type; ch : in character;
! 4: found : out boolean ) is
! 5:
! 6: c : character;
! 7:
! 8: begin
! 9: while not End_of_File(file) loop
! 10: get(file,c);
! 11: if c = ch
! 12: then found := true;
! 13: return;
! 14: end if;
! 15: end loop;
! 16: found := false;
! 17: end Scan;
! 18:
! 19: procedure Scan ( file : in file_type; banner : in string;
! 20: found : out boolean ) is
! 21:
! 22: index : natural := banner'first-1;
! 23: ch : character;
! 24:
! 25: begin
! 26: while not End_of_File(file) loop
! 27: get(file,ch);
! 28: if index < banner'first
! 29: then
! 30: if ch = banner(banner'first)
! 31: then index := banner'first+1;
! 32: end if;
! 33: else
! 34: if ch = banner(index)
! 35: then index := index + 1;
! 36: else index := banner'first-1;
! 37: end if;
! 38: end if;
! 39: exit when index > banner'last;
! 40: end loop;
! 41: if index > banner'last
! 42: then found := true;
! 43: else found := false;
! 44: end if;
! 45: exception
! 46: when others => found := false; return;
! 47: end Scan;
! 48:
! 49: procedure Scan_and_Skip ( file : in file_type; banner : in string;
! 50: found : out boolean ) is
! 51:
! 52: fnd : boolean;
! 53:
! 54: begin
! 55: Scan(file,banner,fnd);
! 56: if fnd
! 57: then skip_line(file);
! 58: end if;
! 59: found := fnd;
! 60: end Scan_and_Skip;
! 61:
! 62: end File_Scanning;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>