import from .zip file
This commit is contained in:
179
addons_package.ads
Normal file
179
addons_package.ads
Normal file
@@ -0,0 +1,179 @@
|
||||
with TEXT_IO;
|
||||
with INFLECTIONS_PACKAGE; use INFLECTIONS_PACKAGE;
|
||||
with DICTIONARY_PACKAGE; use DICTIONARY_PACKAGE;
|
||||
package ADDONS_PACKAGE is
|
||||
use TEXT_IO;
|
||||
|
||||
subtype FIX_TYPE is STEM_TYPE;
|
||||
NULL_FIX_TYPE : constant FIX_TYPE := NULL_STEM_TYPE;
|
||||
MAX_FIX_SIZE : constant := MAX_STEM_SIZE;
|
||||
|
||||
subtype TARGET_POFS_TYPE is PART_OF_SPEECH_TYPE range X..V;
|
||||
|
||||
|
||||
type TARGET_ENTRY(POFS: TARGET_POFS_TYPE := X) is
|
||||
record
|
||||
case POFS is
|
||||
when N =>
|
||||
N : NOUN_ENTRY;
|
||||
--NOUN_KIND : NOUN_KIND_TYPE;
|
||||
when PRON =>
|
||||
PRON : PRONOUN_ENTRY;
|
||||
--PRONOUN_KIND : PRONOUN_KIND_TYPE;
|
||||
when PACK =>
|
||||
PACK : PROPACK_ENTRY;
|
||||
--PROPACK_KIND : PRONOUN_KIND_TYPE;
|
||||
when ADJ =>
|
||||
ADJ : ADJECTIVE_ENTRY;
|
||||
when NUM =>
|
||||
NUM : NUMERAL_ENTRY;
|
||||
--NUMERAL_VALUE : NUMERAL_VALUE_TYPE;
|
||||
when ADV =>
|
||||
ADV : ADVERB_ENTRY;
|
||||
when V =>
|
||||
V : VERB_ENTRY;
|
||||
--VERB_KIND : VERB_KIND_TYPE;
|
||||
when others =>
|
||||
null;
|
||||
end case;
|
||||
end record;
|
||||
|
||||
NULL_TARGET_ENTRY : TARGET_ENTRY;
|
||||
|
||||
package TARGET_ENTRY_IO is
|
||||
DEFAULT_WIDTH : NATURAL;
|
||||
procedure GET(F : in FILE_TYPE; P : out TARGET_ENTRY);
|
||||
procedure GET(P : out TARGET_ENTRY);
|
||||
procedure PUT(F : in FILE_TYPE; P : in TARGET_ENTRY);
|
||||
procedure PUT(P : in TARGET_ENTRY);
|
||||
procedure GET(S : in STRING; P : out TARGET_ENTRY; LAST : out INTEGER);
|
||||
procedure PUT(S : out STRING; P : in TARGET_ENTRY);
|
||||
end TARGET_ENTRY_IO;
|
||||
|
||||
type TACKON_ENTRY is
|
||||
record
|
||||
BASE : TARGET_ENTRY;
|
||||
end record;
|
||||
|
||||
NULL_TACKON_ENTRY : TACKON_ENTRY;
|
||||
|
||||
package TACKON_ENTRY_IO is
|
||||
DEFAULT_WIDTH : NATURAL;
|
||||
procedure GET(F : in FILE_TYPE; I : out TACKON_ENTRY);
|
||||
procedure GET(I : out TACKON_ENTRY);
|
||||
procedure PUT(F : in FILE_TYPE; I : in TACKON_ENTRY);
|
||||
procedure PUT(I : in TACKON_ENTRY);
|
||||
procedure GET(S : in STRING; I : out TACKON_ENTRY; LAST : out INTEGER);
|
||||
procedure PUT(S : out STRING; I : in TACKON_ENTRY);
|
||||
end TACKON_ENTRY_IO;
|
||||
|
||||
|
||||
type PREFIX_ENTRY is
|
||||
record
|
||||
ROOT : PART_OF_SPEECH_TYPE := X;
|
||||
TARGET : PART_OF_SPEECH_TYPE := X;
|
||||
end record;
|
||||
|
||||
NULL_PREFIX_ENTRY : PREFIX_ENTRY;
|
||||
|
||||
package PREFIX_ENTRY_IO is
|
||||
DEFAULT_WIDTH : NATURAL;
|
||||
procedure GET(F : in FILE_TYPE; P : out PREFIX_ENTRY);
|
||||
procedure GET(P : out PREFIX_ENTRY);
|
||||
procedure PUT(F : in FILE_TYPE; P : in PREFIX_ENTRY);
|
||||
procedure PUT(P : in PREFIX_ENTRY);
|
||||
procedure GET(S : in STRING; P : out PREFIX_ENTRY; LAST : out INTEGER);
|
||||
procedure PUT(S : out STRING; P : in PREFIX_ENTRY);
|
||||
end PREFIX_ENTRY_IO;
|
||||
|
||||
|
||||
type SUFFIX_ENTRY is
|
||||
record
|
||||
ROOT : PART_OF_SPEECH_TYPE := X;
|
||||
ROOT_KEY : STEM_KEY_TYPE := 0;
|
||||
TARGET : TARGET_ENTRY := NULL_TARGET_ENTRY;
|
||||
TARGET_KEY : STEM_KEY_TYPE := 0;
|
||||
end record;
|
||||
|
||||
NULL_SUFFIX_ENTRY : SUFFIX_ENTRY;
|
||||
|
||||
package SUFFIX_ENTRY_IO is
|
||||
DEFAULT_WIDTH : NATURAL;
|
||||
procedure GET(F : in FILE_TYPE; P : out SUFFIX_ENTRY);
|
||||
procedure GET(P : out SUFFIX_ENTRY);
|
||||
procedure PUT(F : in FILE_TYPE; P : in SUFFIX_ENTRY);
|
||||
procedure PUT(P : in SUFFIX_ENTRY);
|
||||
procedure GET(S : in STRING; P : out SUFFIX_ENTRY; LAST : out INTEGER);
|
||||
procedure PUT(S : out STRING; P : in SUFFIX_ENTRY);
|
||||
end SUFFIX_ENTRY_IO;
|
||||
|
||||
type TACKON_ITEM is
|
||||
record
|
||||
POFS: PART_OF_SPEECH_TYPE := TACKON;
|
||||
TACK : STEM_TYPE := NULL_STEM_TYPE;
|
||||
ENTR : TACKON_ENTRY := NULL_TACKON_ENTRY;
|
||||
MNPC : INTEGER := 0;
|
||||
end record;
|
||||
|
||||
NULL_TACKON_ITEM : TACKON_ITEM;
|
||||
|
||||
|
||||
type PREFIX_ITEM is
|
||||
record
|
||||
POFS: PART_OF_SPEECH_TYPE := PREFIX;
|
||||
FIX : FIX_TYPE := NULL_FIX_TYPE;
|
||||
CONNECT : CHARACTER := ' ';
|
||||
ENTR : PREFIX_ENTRY := NULL_PREFIX_ENTRY;
|
||||
MNPC : INTEGER := 0;
|
||||
end record;
|
||||
|
||||
NULL_PREFIX_ITEM : PREFIX_ITEM;
|
||||
|
||||
|
||||
type SUFFIX_ITEM is
|
||||
record
|
||||
POFS: PART_OF_SPEECH_TYPE := SUFFIX;
|
||||
FIX : FIX_TYPE := NULL_FIX_TYPE;
|
||||
CONNECT : CHARACTER := ' ';
|
||||
ENTR : SUFFIX_ENTRY := NULL_SUFFIX_ENTRY;
|
||||
MNPC : INTEGER := 0;
|
||||
end record;
|
||||
|
||||
NULL_SUFFIX_ITEM : SUFFIX_ITEM;
|
||||
|
||||
|
||||
type PREFIX_ARRAY is array (INTEGER range <>) of PREFIX_ITEM;
|
||||
type TICKON_ARRAY is array (INTEGER range <>) of PREFIX_ITEM;
|
||||
type SUFFIX_ARRAY is array (INTEGER range <>) of SUFFIX_ITEM;
|
||||
type TACKON_ARRAY is array (INTEGER range <>) of TACKON_ITEM;
|
||||
type MEANS_ARRAY is array (INTEGER range <>) of MEANING_TYPE;
|
||||
-- To simulate a DICT_IO file, as used previously
|
||||
|
||||
TACKONS : TACKON_ARRAY(1..20);
|
||||
PACKONS : TACKON_ARRAY(1..25);
|
||||
TICKONS : PREFIX_ARRAY(1..10);
|
||||
PREFIXES : PREFIX_ARRAY(1..130);
|
||||
SUFFIXES : SUFFIX_ARRAY(1..185);
|
||||
MEANS : MEANS_ARRAY(1..370);
|
||||
|
||||
NUMBER_OF_TICKONS : INTEGER := 0;
|
||||
NUMBER_OF_TACKONS : INTEGER := 0;
|
||||
NUMBER_OF_PACKONS : INTEGER := 0;
|
||||
NUMBER_OF_PREFIXES : INTEGER := 0;
|
||||
NUMBER_OF_SUFFIXES : INTEGER := 0;
|
||||
|
||||
procedure LOAD_ADDONS (FILE_NAME : in STRING);
|
||||
|
||||
function SUBTRACT_TACKON(W : STRING; X : TACKON_ITEM) return STRING;
|
||||
function SUBTRACT_PREFIX(W : STRING; X : PREFIX_ITEM) return STEM_TYPE;
|
||||
function SUBTRACT_TICKON(W : STRING; X : PREFIX_ITEM) return STEM_TYPE
|
||||
renames SUBTRACT_PREFIX;
|
||||
function SUBTRACT_SUFFIX(W : STRING; X : SUFFIX_ITEM) return STEM_TYPE;
|
||||
|
||||
function ADD_PREFIX(STEM : STEM_TYPE;
|
||||
PREFIX : PREFIX_ITEM) return STEM_TYPE;
|
||||
function ADD_SUFFIX(STEM : STEM_TYPE;
|
||||
SUFFIX : SUFFIX_ITEM) return STEM_TYPE;
|
||||
|
||||
|
||||
end ADDONS_PACKAGE;
|
||||
Reference in New Issue
Block a user