]> git.donarmstrong.com Git - deb_pkgs/scowl.git/blob - src/add-other-spellings
[svn-inject] Installing original source of scowl
[deb_pkgs/scowl.git] / src / add-other-spellings
1 #!/usr/bin/perl
2
3 while(<STDIN>) {
4     chop;
5     $words{$_} = '';
6     $know_about{$_} = 1;
7 }
8
9 sub valid_entry ( $ ){local $_ = $_[0]; /^[A-Za-z\']+$/ && exists $words{$_}}
10
11 foreach my $f (qw(working/variant_0.lst working/variant_1.lst 
12                   working/variant_2.lst r/varcon/abbc.tab))
13 {
14   open F, $f or die "Unable to open $f\n";
15   while (<F>) {
16     my (@words) = split /[\t\n]+/;
17     $know_about{$_} = 1 foreach @words;
18   }
19 }
20
21 open F, "r/varcon/voc.tab" or die;
22  
23 while (<F>) {
24     s/\(.+\)\n/\n/;
25     my ($word) = grep {valid_entry $_} (split /[,\t\n]/);
26     next unless defined $word;
27     y/,\t -/\n/;
28     $words{$word} .= $_;
29 }
30
31 open F, "r/varcon/variant.tab" or die;
32
33 while (<F>) {
34     @w = grep {$know_about{$_}} (split /[\t\n]/);
35     next unless @w && grep {valid_entry $_} @w;
36     $words{$w[0]} .= "$_\n" foreach @w;
37 }
38
39 open F, "r/varcon/variant-wroot.tab" or die;
40
41 while (<F>) {
42     s/^(.+)\:\t// or die;
43     my $root = $1;
44     next unless exists $words{$root};
45     @w = grep {$know_about{$_}} (split /[\t\n]/);
46     next unless @w && grep {valid_entry $_} @w;
47     $words{$w[0]} .= "$_\n" foreach @w;
48 }
49
50 while (($key, $value) = each %words) {
51     print "$key\n$value";
52 }