diff options
author | Patrick Simianer <p@simianer.de> | 2014-03-16 17:19:21 +0100 |
---|---|---|
committer | Patrick Simianer <p@simianer.de> | 2014-03-16 17:19:21 +0100 |
commit | 369c3495975ebb21a15aa08063987416e22f6c0c (patch) | |
tree | 337e4c2f676fdbb0026d8dedebe953db3fb11b52 | |
parent | ffe67192a0d67207c97a3424c0c89e805f28e651 (diff) |
filter by rule shape
-rwxr-xr-x | filter_by_rule_shape | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/filter_by_rule_shape b/filter_by_rule_shape new file mode 100755 index 0000000..695edec --- /dev/null +++ b/filter_by_rule_shape @@ -0,0 +1,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 + |