Re: Ruta COUNT issue

2017-08-16 Thread Peter Klügl

Hi,


I haven't tested the rule for bugs yet , so here's just a comment for now.

The order of evaluation of the conditions is fixed. The usage of 
conditions on a wildcard can lead to unexpected matches (and it can 
considerbaly decrease the runtime performance).


There is a difference between a wildcard and a reluctant quantfier like 
"ANY+?".


The wildcard takes a look at the next rule element and then evaluates 
its conditons. If a condition fails, the next rule element is consulted 
again, like moving forward on its iterator, and then the conditions are 
checked again. With a normal matching rule, the conditions are directly 
evaluated and the next element is not considered anew or skipped.



I have to test the rule in order to give you a specific answer, but that 
will take some time (I am a bit busy right now)



Best,


Peter


Am 11.08.2017 um 22:23 schrieb Tom Vacek:

Assume I have made PositiveContext and NegativeContext annotations from a
word list.   I would like a wildcard rule that allows any number of
PositiveContext tokens, some (eg 4) unknown tokens, but no NegativeContext
tokens.
I have this rule:
INT contextCount;
(Keyword1  #{COUNT(PositiveContext,0,100,contextCount),
CONTAINS(W,0,contextCount+4), -CONTAINS(NegativeContext)} Keyword2
The rule behaves unpredictably, perhaps as if the order of evaluation of
the conditions is not fixed.  Is this the case?  Or is it some other bug?

Thanks,

Tom





Ruta COUNT issue

2017-08-11 Thread Tom Vacek
Assume I have made PositiveContext and NegativeContext annotations from a
word list.   I would like a wildcard rule that allows any number of
PositiveContext tokens, some (eg 4) unknown tokens, but no NegativeContext
tokens.
I have this rule:
INT contextCount;
(Keyword1  #{COUNT(PositiveContext,0,100,contextCount),
CONTAINS(W,0,contextCount+4), -CONTAINS(NegativeContext)} Keyword2
The rule behaves unpredictably, perhaps as if the order of evaluation of
the conditions is not fixed.  Is this the case?  Or is it some other bug?

Thanks,

Tom