~efargaspro/+junk/codeblocks-16.01-release

« back to all changes in this revision

Viewing changes to src/plugins/contrib/SpellChecker/hunspell/src/tools/makealias

  • Committer: damienlmoore at gmail
  • Date: 2016-02-02 02:43:22 UTC
  • Revision ID: damienlmoore@gmail.com-20160202024322-yql5qmtbwdyamdwd
Code::BlocksĀ 16.01

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/bin/sh
 
2
# makealias: make alias compressed dic and aff files
 
3
# Usage: alias.sh dic aff (not alias.sh aff dic!)
 
4
# Version: 2007-10-26
 
5
 
 
6
case $# in
 
7
0|1) 
 
8
echo 'makealias: make alias compressed dic and aff files
 
9
Usage: makealias file.dic file.aff (not makefile file.aff file.dic!)' >/dev/stderr
 
10
exit;;
 
11
esac
 
12
 
 
13
DIC=`basename $1 .dic`
 
14
AFF=`basename $2 .aff`
 
15
 
 
16
# FLAG type definition must be before alias definitions
 
17
grep '^FLAG' $2 >"${AFF}_alias.aff"
 
18
 
 
19
awk 'BEGIN{n=1;m=1}
 
20
function cutslash(st) {
 
21
    if (split(st,t,"/") > 1) return t[1]
 
22
    return st
 
23
}
 
24
function ltrim(st) {
 
25
    sub(/^ +/,"",st)
 
26
    return st
 
27
}
 
28
FILENAME ~ /.dic$/ && $1 ~ "/[^ \t]" {
 
29
    split($1,t,"/")
 
30
    if(!a[t[2]]){
 
31
        a[t[2]]=n
 
32
        b[n]=t[2]
 
33
        n++
 
34
    }
 
35
    if (NF > 1) {
 
36
        $1 = ""
 
37
        if(!a2[$0]){
 
38
            a2[$0]=m
 
39
            c[m]=$0
 
40
            m++
 
41
        }
 
42
        print t[1]"/"a[t[2]] "\t" a2[$0]
 
43
    } else {
 
44
        print t[1]"/"a[t[2]]
 
45
    }
 
46
    next
 
47
}
 
48
FILENAME ~ /.dic$/ && NF > 1 {
 
49
    x = $1
 
50
    $1 = ""
 
51
    if(!a2[$0]){
 
52
        a2[$0]=m
 
53
        c[m]=$0
 
54
        m++
 
55
    }
 
56
    print cutslash(x) "\t" a2[$0]
 
57
    next
 
58
}
 
59
FILENAME ~ /.dic$/ { print cutslash($1) }
 
60
FILENAME ~ /.aff$/ && /^[PS]FX/ && ($4 ~ /\/[^   ]/) && NF > 4 {
 
61
    split($4,t,"/")
 
62
    if(!a[t[2]]){
 
63
        a[t[2]]=n
 
64
        b[n]=t[2]
 
65
        n++
 
66
    }
 
67
    begin = $1 " " $2 " " $3 " " (t[1]"/"a[t[2]]) " " $5
 
68
    if ($6!="") ok = 1; else ok = 0;
 
69
    $1 = ""
 
70
    $2 = ""
 
71
    $3 = ""
 
72
    $4 = ""
 
73
    $5 = ""
 
74
    if(ok){
 
75
        if(!a2[$0]){
 
76
            a2[$0]=m
 
77
            c[m]=$0
 
78
            m++
 
79
        }
 
80
        print begin " " a2[$0] >>"/dev/stderr"
 
81
    } else print begin >>"/dev/stderr"
 
82
    next
 
83
}
 
84
FILENAME ~ /.aff$/ && /^[PS]FX/ && NF > 4 {
 
85
    begin = $1 " " $2 " " $3 " " cutslash($4) " " $5
 
86
    if ($6!="") ok = 1; else ok = 0;
 
87
    $1 = ""
 
88
    $2 = ""
 
89
    $3 = ""
 
90
    $4 = ""
 
91
    $5 = ""
 
92
    if(ok) {
 
93
        if (!a2[$0]){
 
94
            a2[$0]=m
 
95
            c[m]=$0
 
96
            m++
 
97
        }
 
98
        print begin " " a2[$0] >>"/dev/stderr"
 
99
    } else print begin >>"/dev/stderr"
 
100
    next
 
101
}
 
102
FILENAME ~ /.aff$/ { print $0 >>"/dev/stderr" }
 
103
END{
 
104
    if (n>1) {
 
105
        print "AF", n-1 >>"'${AFF}_alias.aff'"
 
106
        for(i=1;i<n;i++) print "AF", b[i],"#",i >>"'${AFF}_alias.aff'"
 
107
    }
 
108
    if (m>1) {
 
109
        print "AM", m-1 >>"'${AFF}_alias.aff'"
 
110
        for(i=1;i<m;i++) print "AM " ltrim(c[i]) >>"'${AFF}_alias.aff'"
 
111
    }
 
112
}' $1 $2 >${DIC}_alias.dic 2>${AFF}_alias.$$
 
113
grep -v '^FLAG' ${AFF}_alias.$$ >>${AFF}_alias.aff
 
114
echo "output: ${DIC}_alias.dic, ${AFF}_alias.aff"
 
115
rm ${AFF}_alias.$$