summaryrefslogtreecommitdiff
path: root/filter-by-rule-shape
blob: 695edecfefad1181757d03ec28725c21a5cf6d3e (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
#!/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
  line.strip!
  parts = line.split ' ||| '
  f_shape = shape(parts[1])
  e_shape = shape(parts[2])
  next if f_shape[0]=='NT'||f_shape[-1]=='NT'||e_shape[0]=='NT'||e_shape[-1]=='NT'
  puts line
end