generic type Item is private; Line_Terminator : Item; Page_Terminator : Item; File_Terminator : Item; with procedure Get (The_Item : out Item); with procedure Skip_Line; with procedure Skip_Page; with function Is_End_Of_Line return Boolean; with function Is_End_Of_Page return Boolean; with function Is_End_Of_File return Boolean; package Input_Filter is procedure Clear; procedure Input (The_Item : out Item); end Input_Filter;