home Forums # Technical Support Three Membership Functions in antecedent Reply To: Three Membership Functions in antecedent

#2732
Unknown
Member

Additional Information..
the debugger shows this output:

/src/rule/Antecedent.cpp::load[224]:Antecedent: (laserLeftZone is VF and laserFrontZone is VF) and laserRightZone is VF
/src/rule/Antecedent.cpp::load[242]:Postfix: laserLeftZone is VF laserFrontZone is VF and laserRightZone is VF and
/src/rule/Antecedent.cpp::load[266]:Token <laserLeftZone> is variable
/src/rule/Antecedent.cpp::load[274]:Token <is> is keyword
/src/rule/Antecedent.cpp::load[298]:Token <VF> is term
/src/rule/Antecedent.cpp::load[266]:Token <laserFrontZone> is variable
/src/rule/Antecedent.cpp::load[274]:Token <is> is keyword
/src/rule/Antecedent.cpp::load[298]:Token <VF> is term
/src/rule/Antecedent.cpp::load[322]:Subtree: and(laserLeftZone is VF) (laserFrontZone is VF)
/src/rule/Antecedent.cpp::load[266]:Token <laserRightZone> is variable
/src/rule/Antecedent.cpp::load[274]:Token <is> is keyword
/src/rule/Antecedent.cpp::load[298]:Token <VF> is term
/src/rule/Antecedent.cpp::load[322]:Subtree: and(and) (laserRightZone is VF) maybe the error

and when the engine is trying to evaluate the rule, and the debugger shows me this:

/src/Exception.cpp::Exception[57]:[conjunction error] the following rule requires a conjunction operator:
laserLeftZone is VF and laserFrontZone is VF and laserRightZone is VF
{at /src/rule/Antecedent.cpp::activationDegree() [line:114]}
terminate called after throwing an instance of ‘fl::Exception’
what(): [conjunction error] the following rule requires a conjunction operator:
laserLeftZone is VF and laserFrontZone is VF and laserRightZone is VF
{at /src/rule/Antecedent.cpp::activationDegree() [line:114]}

and I believe that the rule was written correctly