-- WORDS, a Latin dictionary, by Colonel William Whitaker (USAF, Retired) -- -- Copyright William A. Whitaker (1936-2010) -- -- This is a free program, which means it is proper to copy it and pass -- it on to your friends. Consider it a developmental item for which -- there is no charge. However, just for form, it is Copyrighted -- (c). Permission is hereby freely given for any and all use of program -- and data. You can sell it as your own, but at least tell me. -- -- This version is distributed without obligation, but the developer -- would appreciate comments and suggestions. -- -- All parts of the WORDS system, source code and data files, are made freely -- available to anyone who wishes to use them, for whatever purpose. with Ada.Text_IO; with Words_Engine.English_Support_Package; use Words_Engine.English_Support_Package; with Latin_Utils.Config; procedure Makeefil is use Ada.Text_IO; use Ewds_Direct_Io; Ewds_List : Ada.Text_IO.File_Type; Ewds, New_Ewds : Ewds_Record := Null_Ewds_Record; begin Open (Ewds_List, In_File, Latin_Utils.Config.Path ("EWDSLIST.GEN")); Create (Ewds_File, Out_File, "EWDSFILE.GEN"); while not Ada.Text_IO.End_Of_File (Ewds_List) loop Ewds_Record_Io.Get (Ewds_List, New_Ewds); Ada.Text_IO.Skip_Line (Ewds_List); -- Eliminate doubles -- If sort is OK if Ewds.W = New_Ewds.W and -- AUX ???? Ewds.N = New_Ewds.N then -- PUT_LINE ("DOUBLES "); -- EWDS_RECORD_IO.PUT (EWDS); NEW_LINE; -- EWDS_RECORD_IO.PUT (NEW_EWDS); NEW_LINE; if Ewds.Kind > New_Ewds.Kind then -- Large KIND = high priority null; elsif Ewds.Kind < New_Ewds.Kind then Ewds := New_Ewds; elsif Ewds.Kind = New_Ewds.Kind then if Ewds.Semi > New_Ewds.Semi then Ewds := New_Ewds; end if; end if; else Write (Ewds_File, Ewds); Ewds := New_Ewds; Number_Of_Ewords := Number_Of_Ewords + 1; end if; --PUT ('.'); end loop; Close (Ewds_File); Ada.Text_IO.New_Line; Ada.Text_IO.Put_Line ("NUMBER_OF_EWORDS = " & Integer'Image (Number_Of_Ewords)); exception when others => Close (Ewds_File); Ada.Text_IO.New_Line; Ada.Text_IO.Put_Line ("MAKEEFIL terminated on an exception"); Ada.Text_IO.Put_Line ("NUMBER_OF_EWORDS = " & Integer'Image (Number_Of_Ewords)); end Makeefil;