summaryrefslogtreecommitdiff
path: root/rule-shapes
blob: 589a670416eea93903b25107af709224f530c689 (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
#!/usr/bin/env ruby

STDIN.set_encoding 'utf-8'
STDOUT.set_encoding 'utf-8'

def shape s
  res  = []
  in_t = false
  s.split.each { |i|
    if i.match(/\A\[X,\d\]\z/)
      if in_t
        in_t = false
      end
      res << "NT"
      next
    else
      res << "T" if not in_t
      in_t = true
    end
  }
  return res
end

while line = STDIN.gets
  f, e = line.split(/\t/)
  f.strip!; e.strip!
  puts shape(f).join('_')+"-"+shape(e).join('_')
end