This rule:

 

rule "Not"

when

      not(

          RuleTime()

          Patient()

          )

then

      System.out.println("not");

end

 

produces the following errors when compiled:

 

[ERR 102] Line 43:5 mismatched input 'Patient' expecting ')' in rule "Not"

[ERR 102] Line 44:5 mismatched input ')' expecting 'then' in rule "Not"

 

 

But if I change it to use explicit ANDs instead of implicit ANDs it compiles and runs.

 

rule "NotBlock"

when

      not(

          RuleTime()

          and

          Patient()

          )

then

      System.out.println("notBlock");

end

 

 

Is it invalid syntax to use implicit ANDs in a not block? If so, why?

 

 

Thank You,

 

Nathan Bell