-
Notifications
You must be signed in to change notification settings - Fork 2
/
prompts2wlist.jl
65 lines (56 loc) · 1.78 KB
/
prompts2wlist.jl
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
###############################################################################
#
# Copyright (C) 2015 VoxForge
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###############################################################################
function prompts2wlist(prompts, wlist)
if ! isfile(prompts)
error("can't find prompts file: $prompts")
end
wordhash = Dict{String, Int32}()
prompts_fh=open(readlines, prompts)
for lineln=prompts_fh
line=chomp(lineln)
line_array=split(line,r"\s+");
shift!(line_array)
for word=line_array
wordhash[word]=1
end
end
wordhash["silence"]=1
wordlist = keys(wordhash) # returns an iterator
wlist_arr=Array(String,length(wordhash))
i=1
for word=wordlist
wlist_arr[i] = word * "\n"
i=i+1
end
sortedwlist_arr=sort(wlist_arr)
wlist_fh=open(wlist,"w");
write(wlist_fh,sortedwlist_arr);
close(wlist_fh)
end
# if called from command line
if length(ARGS) > 0
if ! isfile(ARGS[1])
error("can't find prompts file: $ARGS[1]")
end
if length(ARGS) <= 2
prompts2wlist(ARGS[1],ARGS[2] )
else
error("prompts2list: too many arguments for call from command line")
end
end