]> git.donarmstrong.com Git - deb_pkgs/scowl.git/blob - 7.1/src/make-variant.lst
[svn-upgrade] Tagging scowl (7.1)
[deb_pkgs/scowl.git] / 7.1 / src / make-variant.lst
1 #!/bin/bash
2
3 start ()
4 {
5     echo -n;
6 }
7
8 add ()
9 {
10   cat - $1 | src/filter | sort -u;
11 }
12
13 rem ()
14 {
15   comm -23 - $1;
16 }
17
18 #
19 # perform additional proc. on varcon
20 #
21
22 rm -f everything.lst
23 cat r/varcon/*.lst \
24   | src/filter | sort -u \
25   > r/varcon/everything.lst
26
27 cat r/varcon/american.lst r/varcon/american-v?.lst \
28   | src/filter | sort -u \
29   > r/varcon/all-amer.lst
30
31 cat r/varcon/american.lst r/varcon/other.lst \
32   | src/filter | sort -u \
33   > r/varcon/nonvariant-amer.lst
34
35 cat r/varcon/american-v?.lst r/varcon/other-v?.lst \
36   | src/filter | sort -u \
37   > r/varcon/variant-amer.lst
38
39 cat r/varcon/british-v?.lst r/varcon/british_z-v?.lst \
40   | src/filter | sort -u \
41   > r/varcon/variant-brit.lst
42
43 cat r/varcon/canadian-v?.lst \
44   | src/filter | sort -u \
45   > r/varcon/variant-can.lst
46
47 cat r/varcon/british-v?.lst r/varcon/british_z-v?.lst r/varcon/canadian-v?.lst \
48   | src/filter | sort -u \
49   > r/varcon/variant-nonamer.lst
50
51 for sp in american british british_z canadian other; do
52   for vl in 0 1 2; do
53     touch r/varcon/$sp-v$vl.lst
54   done
55 done
56
57 comm -12 r/varcon/british.lst r/varcon/british_z.lst \
58   > r/varcon/british-common.lst
59
60 #
61 # We let some british variants into the variant lists..
62 # see below
63 #
64
65 for l in 0 1 2 3; do
66
67   cat r/varcon/british-v$l.lst r/varcon/british_z-v$l.lst r/varcon/canadian-v$l.lst \
68     | src/filter | sort -u \
69     > r/varcon/variant-nonamer-v$l.lst
70
71   comm -12 r/varcon/nonvariant-amer.lst r/varcon/variant-nonamer-v$l.lst \
72     > r/varcon/variant-nonamer-v$l-filtered.lst
73
74 done
75
76 #
77 # perform additional proc. on 12dicts
78 #
79 # for each of the lists remove any variants that are known about in
80 # varcon
81 #
82
83 cat r/alt12dicts/not-variant.lst \
84   | src/filter | src/add-affixes 0.0 use-all | sort -u \
85   > working/variant-no.lst
86
87 expand() {
88     src/filter \
89       | src/add-affixes $1 use-all | sort -u \
90       | rem working/variant-no.lst
91 }
92
93 cat r/alt12dicts/variant-maybe.lst \
94   | expand 0.9                     \
95   | rem r/varcon/w_variant-amer.lst  \
96   | rem r/varcon/nonvariant-amer.lst \
97   > working/variant-maybe.lst
98
99 cat r/alt12dicts/variant-yes.lst \
100   | expand 1.9                   \
101   | rem r/varcon/w_variant-amer.lst  \
102   | rem r/varcon/nonvariant-amer.lst \
103   > working/variant-yes.lst
104
105 cat r/alt12dicts/nonamer-maybe.lst    \
106   | expand 1.9                        \
107   | rem r/varcon/everything.lst       \
108   > working/variant-nonamer-maybe.lst 
109
110 cat r/alt12dicts/nonamer-yes.lst      \
111   | expand 1.9                        \
112   | rem r/varcon/everything.lst       \
113   > working/variant-nonamer-yes.lst
114
115 #
116 # Special rule for british and canadian list
117 #
118
119 cat r/varcon/british.lst r/varcon/british-v0.lst\
120   | sort -u > r/varcon/british+.lst
121
122 cat r/varcon/canadian.lst r/varcon/canadian-v0.lst\
123   | sort -u > r/varcon/canadian+.lst
124
125 #
126 # Create the initial variant lists
127 #
128
129 start \
130   | add working/variant-maybe.lst    \
131   | add r/varcon/american-v0.lst     \
132   | add r/varcon/american-v1.lst     \
133   | add r/varcon/other-v0.lst        \
134   | add r/varcon/other-v1.lst        \
135   | add r/varcon/variant-nonamer-v0-filtered.lst \
136   | add r/varcon/variant-nonamer-v1-filtered.lst \
137   | add r/special/variant_0          \
138   | rem r/special/never-variant      \
139   > working/variant_0-pre.lst
140
141 start \
142   | add working/variant-yes.lst      \
143   | add working/variant-nonamer-maybe.lst \
144   | add r/varcon/american-v2.lst     \
145   | add r/varcon/other-v2.lst        \
146   | add r/varcon/variant-nonamer-v2-filtered.lst \
147   | add r/special/variant_1          \
148   | rem working/variant_0-pre.lst    \
149   | rem r/special/never-variant      \
150   > working/variant_1-pre.lst
151
152 start \
153   | add working/variant-nonamer-yes.lst \
154   | add r/varcon/american-v3.lst     \
155   | add r/varcon/other-v3.lst        \
156   | add r/special/variant_2          \
157   | add r/varcon/variant-nonamer-v0.lst \
158   | add r/varcon/variant-nonamer-v1.lst \
159   | add r/varcon/variant-nonamer-v2.lst \
160   | add r/varcon/variant-nonamer-v3.lst \
161   | rem working/variant_1-pre.lst    \
162   | rem working/variant_0-pre.lst    \
163   | rem r/special/never-variant      \
164   > working/variant_2-pre.lst
165
166 #
167 # Generate special never-variant list
168 #
169
170 start \
171   | add working/variant_0-pre.lst \
172   | egrep "wards?$"               \
173   | add r/special/never-variant   \
174   > working/never-variant.lst
175
176 #
177 # Now take into account variant info from AGID
178 # and also special never-veriant list 
179 #
180
181 start \
182   | add r/infl/variant_0.lst         \
183   | rem working/variant_2-pre.lst | rem working/variant_1-pre.lst    \
184   | add working/variant_0-pre.lst    \
185   | rem working/never-variant.lst \
186   > working/variant_0.lst
187
188 start \
189   | add r/infl/variant_1.lst         \
190   | rem working/variant_2-pre.lst    \
191   | add working/variant_1-pre.lst    \
192   | add r/infl/variant_0.lst         \
193   | rem working/variant_0.lst        \
194   | rem working/never-variant.lst \
195   > working/variant_1.lst
196
197 start \
198   | add r/infl/variant_2.lst         \
199   | add working/variant_2-pre.lst    \
200   | add r/infl/variant_1.lst  | add r/infl/variant_0.lst         \
201   | rem working/variant_1.lst | rem working/variant_0.lst        \
202   | rem working/never-variant.lst \
203   > working/variant_2.lst
204
205 #
206 # Make brit. and can. variant lists
207
208
209 start \
210   | add working/variant_0.lst\
211   | rem r/varcon/all-amer.lst\
212   | add r/varcon/british-v0.lst\
213   | add r/varcon/british-v1.lst\
214   | add r/varcon/british_z-v0.lst\
215   | add r/varcon/british_z-v1.lst\
216   | rem r/varcon/british-common.lst\
217   > working/british_variant_0.lst
218
219 start \
220   | add working/variant_1.lst\
221   | rem r/varcon/all-amer.lst\
222   | add r/varcon/british-v2.lst\
223   | add r/varcon/british_z-v2.lst\
224   | rem working/british_variant_0.lst\
225   | rem r/varcon/british-common.lst\
226   > working/british_variant_1.lst
227
228 start \
229   | add working/variant_0.lst\
230   | rem r/varcon/all-amer.lst\
231   | add r/varcon/canadian-v0.lst\
232   | add r/varcon/canadian-v1.lst\
233   | rem r/varcon/canadian.lst\
234   > working/canadian_variant_0.lst
235
236 start \
237   | add working/variant_1.lst\
238   | rem r/varcon/all-amer.lst\
239   | add r/varcon/canadian-v2.lst\
240   | rem working/canadian_variant_0.lst\
241   | rem r/varcon/canadian.lst\
242   > working/canadian_variant_1.lst
243
244 #
245 # Now fix up american/british/canadian lists to make sure we don't
246 # leave anything out
247
248
249 cat working/variant_{0,1,2}.lst \
250     working/{british,canadian}_variant_{0,1}.lst \
251     r/varcon/{american,british+,british_z,canadian+}.lst \
252   | sort -u > working/variant-somewhere.lst
253
254 comm -12 working/never-variant.lst working/variant-somewhere.lst \
255   | add r/varcon/american.lst \
256   > working/american.lst
257
258 # nothing to do for other lists, yet
259
260 cp r/varcon/british+.lst working/british.lst
261
262 cp r/varcon/british_z.lst working/british_z.lst
263
264 cp r/varcon/canadian+.lst working/canadian.lst