-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy pathline_stuff.ads
114 lines (93 loc) · 3.76 KB
/
line_stuff.ads
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
with TEXT_IO;
with INFLECTIONS_PACKAGE; use INFLECTIONS_PACKAGE;
with DICTIONARY_PACKAGE; use DICTIONARY_PACKAGE;
with ADDONS_PACKAGE; use ADDONS_PACKAGE;
with UNIQUES_PACKAGE; use UNIQUES_PACKAGE;
package LINE_STUFF is
use TEXT_IO;
type DICTIONARY_ITEM;
type DICTIONARY_LIST is access DICTIONARY_ITEM;
type DICTIONARY_ITEM is
record
DE : DICTIONARY_ENTRY := NULL_DICTIONARY_ENTRY;
SUCC : DICTIONARY_LIST;
end record;
type DICTIONARY is array (CHARACTER) of DICTIONARY_LIST;
NULL_DICTIONARY : DICTIONARY := (others => null);
--DICT, UNIQUES, QUES : DICTIONARY := NULL_DICTIONARY;
DICT, UNIQUES : DICTIONARY := NULL_DICTIONARY;
DICT_LOC : DICTIONARY := NULL_DICTIONARY;
type TACKON_LINE is
record
POFS : PART_OF_SPEECH_TYPE := TACKON;
TACK : STEM_TYPE := NULL_STEM_TYPE;
ENTR : TACKON_ENTRY := NULL_TACKON_ENTRY;
MEAN : MEANING_TYPE := NULL_MEANING_TYPE;
end record;
NULL_TACKON_LINE : TACKON_LINE;
package TACKON_LINE_IO is
DEFAULT_WIDTH : NATURAL;
procedure GET(F : in FILE_TYPE; P : out TACKON_LINE);
procedure GET(P : out TACKON_LINE);
procedure PUT(F : in FILE_TYPE; P : in TACKON_LINE);
procedure PUT(P : in TACKON_LINE);
procedure GET(S : in STRING; P : out TACKON_LINE; LAST : out INTEGER);
procedure PUT(S : out STRING; P : in TACKON_LINE);
end TACKON_LINE_IO;
type PREFIX_LINE is
record
POFS : PART_OF_SPEECH_TYPE := PREFIX;
FIX : FIX_TYPE := NULL_FIX_TYPE;
CONNECT : CHARACTER := ' ';
ENTR : PREFIX_ENTRY := NULL_PREFIX_ENTRY;
MEAN : MEANING_TYPE := NULL_MEANING_TYPE;
end record;
NULL_PREFIX_LINE : PREFIX_LINE;
package PREFIX_LINE_IO is
DEFAULT_WIDTH : NATURAL;
procedure GET(F : in FILE_TYPE; P : out PREFIX_LINE);
procedure GET(P : out PREFIX_LINE);
procedure PUT(F : in FILE_TYPE; P : in PREFIX_LINE);
procedure PUT(P : in PREFIX_LINE);
procedure GET(S : in STRING; P : out PREFIX_LINE; LAST : out INTEGER);
procedure PUT(S : out STRING; P : in PREFIX_LINE);
end PREFIX_LINE_IO;
type SUFFIX_LINE is
record
POFS : PART_OF_SPEECH_TYPE := SUFFIX;
FIX : FIX_TYPE := NULL_FIX_TYPE;
CONNECT : CHARACTER := ' ';
ENTR : SUFFIX_ENTRY := NULL_SUFFIX_ENTRY;
MEAN : MEANING_TYPE := NULL_MEANING_TYPE;
end record;
NULL_SUFFIX_LINE : SUFFIX_LINE;
package SUFFIX_LINE_IO is
DEFAULT_WIDTH : NATURAL;
procedure GET(F : in FILE_TYPE; P : out SUFFIX_LINE);
procedure GET(P : out SUFFIX_LINE);
procedure PUT(F : in FILE_TYPE; P : in SUFFIX_LINE);
procedure PUT(P : in SUFFIX_LINE);
procedure GET(S : in STRING; P : out SUFFIX_LINE; LAST : out INTEGER);
procedure PUT(S : out STRING; P : in SUFFIX_LINE);
end SUFFIX_LINE_IO;
type UNIQUE_ENTRY is
record
STEM : STEM_TYPE := NULL_STEM_TYPE;
QUAL : QUALITY_RECORD := NULL_QUALITY_RECORD;
KIND : KIND_ENTRY := NULL_KIND_ENTRY;
TRAN : TRANSLATION_RECORD := NULL_TRANSLATION_RECORD;
end record;
package UNIQUE_ENTRY_IO is
DEFAULT_WIDTH : FIELD;
procedure GET(F : in FILE_TYPE; P : out UNIQUE_ENTRY);
procedure GET(P : out UNIQUE_ENTRY);
procedure PUT(F : in FILE_TYPE; P : in UNIQUE_ENTRY);
procedure PUT(P : in UNIQUE_ENTRY);
procedure GET(S : in STRING; P : out UNIQUE_ENTRY; LAST : out INTEGER);
procedure PUT(S : out STRING; P : in UNIQUE_ENTRY);
end UNIQUE_ENTRY_IO;
procedure LOAD_STEM_FILE(D_K : DICTIONARY_KIND);
procedure LOAD_DICTIONARY(DICT : in out DICTIONARY;
DICTIONARY_FILE_NAME : STRING);
procedure LOAD_UNIQUES(UNQ : in out LATIN_UNIQUES; FILE_NAME : in STRING);
end LINE_STUFF;