summaryrefslogtreecommitdiff
path: root/add-seg
blob: 14b8b6b5c04a7ea22a41f2a5da7677531928ccf8 (plain)
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
#!/usr/bin/env ruby

require 'optimist'
require 'zipf'

o = Optimist::options do
  opt :grammar, "(Absolute) path of folder containing grammars.", :type => :string, :short => '-g', :default => nil
  opt :loo, "leave one out", :type => :bool, :default => false
  opt :start_id, "start with this id", :type => :int, :default => 0, :short => '-i'
  opt :nogz, "grammar files not gzipped", :type => :bool, :default => false
  opt :index, "number according to index", :type => :string, :default => nil
end

index = []
if o[:index]
  index = ReadFile.readlines_strip(o[:index]).map{ |i| i.to_i }
end

i = o[:start_id]
j = 0
while line = STDIN.gets
  ext = '.gz'
  ext = '' if o[:nogz]
  s = "<seg"
  if o[:loo] then s += " exclude=\"#{i}\"" end
  if index.size > 0
    if o[:grammar] then s += " grammar=\"#{o[:grammar]}/grammar.#{index[j]}#{ext}\"" end
    puts s + " id=\"#{index[j]}\"> #{line.strip} </seg>"
  else
    if o[:grammar] then s += " grammar=\"#{o[:grammar]}/grammar.#{i}#{ext}\"" end
    puts s + " id=\"#{i}\"> #{line.strip} </seg>"
  end
  i += 1
  j += 1
end