1with TEXT_IO; 2with DIRECT_IO; 3with INFLECTIONS_PACKAGE; use INFLECTIONS_PACKAGE; 4with DICTIONARY_PACKAGE; use DICTIONARY_PACKAGE; 5package WORD_SUPPORT_PACKAGE is 6 7 FOLLOWED_BY_PERIOD, FOLLOWS_PERIOD, CAPITALIZED, ALL_CAPS : 8 BOOLEAN := FALSE; 9 10 11 type DICTIONARY_STEM is 12 record 13 STEM : STEM_TYPE := NULL_STEM_TYPE; 14 PART : PART_ENTRY := NULL_PART_ENTRY; 15 KEY : STEM_KEY_TYPE := 0; 16 MNPC : DICT_IO.COUNT := NULL_MNPC; 17 end record; 18 19 package STEM_IO is new DIRECT_IO(DICTIONARY_STEM); 20 package COUNT_IO is new TEXT_IO.INTEGER_IO(STEM_IO.COUNT); 21 22 subtype DICTIONARY_FILE_KIND is DICTIONARY_KIND range GENERAL..LOCAL; 23 DEFAULT_DICTIONARY_FILE_KIND : DICTIONARY_FILE_KIND := GENERAL; 24 25 STEM_FILE : array (DICTIONARY_FILE_KIND) of STEM_IO.FILE_TYPE; 26 27 STEM_LIST : array (DICTIONARY_FILE_KIND) of TEXT_IO.FILE_TYPE; 28 INDX_FILE : array (DICTIONARY_FILE_KIND) of TEXT_IO.FILE_TYPE; 29 30 31 type DICT_ARRAY is array (POSITIVE range <>) of DICTIONARY_STEM; 32 BDL : DICT_ARRAY(1..100); 33 BDL_LAST : INTEGER := 0; 34--SIZE_OF_DICTIONARY_ARRAY : constant INTEGER := 120; -- ################### 35--DDL : DICT_ARRAY(1..SIZE_OF_DICTIONARY_ARRAY); 36 type DICT_ARRAY_INDEX is array (CHARACTER range <>, 37 CHARACTER range <>, 38 DICTIONARY_FILE_KIND range <>) of STEM_IO.COUNT; 39 40 BBLF, BBLL : DICT_ARRAY_INDEX(' '..' ', ' '..' ', DICTIONARY_FILE_KIND) := 41 (others => (others => (others => 0))); 42 BDLF, BDLL : DICT_ARRAY_INDEX('a'..'z', ' '..' ', DICTIONARY_FILE_KIND) := 43 (others => (others => (others => 0))); 44 DDLF, DDLL : DICT_ARRAY_INDEX('a'..'z', 'a'..'z', DICTIONARY_FILE_KIND) := 45 (others => (others => (others => 0))); 46 47 48 function ADJ_COMP_FROM_KEY(KEY : STEM_KEY_TYPE) return COMPARISON_TYPE; 49 50 function ADV_COMP_FROM_KEY(KEY : STEM_KEY_TYPE) return COMPARISON_TYPE; 51 52 function NUM_SORT_FROM_KEY(KEY : STEM_KEY_TYPE) return NUMERAL_SORT_TYPE; 53 54 function EFF_PART(PART : PART_OF_SPEECH_TYPE) return PART_OF_SPEECH_TYPE; 55 56 function LEN(S : STRING) return INTEGER; 57 58 function FIRST_INDEX(INPUT_WORD : STRING; 59 D_K : DICTIONARY_FILE_KIND := DEFAULT_DICTIONARY_FILE_KIND) 60 return STEM_IO.COUNT; 61 62 function LAST_INDEX(INPUT_WORD : STRING; 63 D_K : DICTIONARY_FILE_KIND := DEFAULT_DICTIONARY_FILE_KIND) 64 return STEM_IO.COUNT; 65 66 procedure LOAD_INDICES_FROM_INDX_FILE(INDXFILE_NAME : STRING; 67 D_K : DICTIONARY_KIND); 68 69 procedure LOAD_BDL_FROM_DISK; 70 71 72end WORD_SUPPORT_PACKAGE; 73