-
Bug
-
Resolution: Done
-
Blocker
-
5.2.0.M2
-
None
The DRL given below compiled in 5.1.1 and executed as expected, i.e., both rules fired, producing
or R=1x2
and R=1x2
Now, a syntax error is flagged at the position of the 2nd binding ($w. Moreover, the DRL parser is thrown off-track and crashes with sn EmptyStackException as soon as more rules follow.
package binding;
declare Rect
length : int
width : int
end
rule insert
salience 100
when
then
Rect r = new Rect();
r.setLength( 1 );
r.setWidth( 2 );
insert( r );
end
rule "binding and"
when
$r: Rect( $l: length == 1 && $w: width == 2 )
then
System.out.println( "and R=" + $l + "x" + $w );
end
rule "binding or"
when
$r: Rect( $l: length == 1 || $w: width == 1 )
then
System.out.println( "or R=" + $l + "x" + $w );
end