Description
I've recently had problems with Ruta's rule inference. The sentence was like "X y, y, X, y, X" and the rule was similar to :
S {CONTAINS(x) -> UNMARK(S)} (COMMA? S)+ {CONTAINS(y), -CONTAINS(CW) -> UNMARKALL(S), MARK(S,1,2)};
where S annotations are segments, initially:
[X y], [y], [X], [y], [X]
It ignores the condition -CONTAINS(CW) sometimes and annotates:
[X y, y, X, y, X]
The problem seems to be related to the composed rule element (COMMA? S)+ and the condition action part of it.