DEADSOFTWARE

expressions interpreted in lazy mode
authorDeaDDooMER <deaddoomer@deadsoftware.ru>
Sat, 14 Dec 2019 21:37:35 +0000 (00:37 +0300)
committerDeaDDooMER <deaddoomer@deadsoftware.ru>
Sat, 14 Dec 2019 21:37:35 +0000 (00:37 +0300)
src/generic/Dev/Mod/CPR.cp

index 7791454cd607538d29b831f4d9ef1532a24fe4c3..b3ef0524cb2474b2bafbbd6249c362ad5c3dac04 100644 (file)
@@ -162,7 +162,7 @@ MODULE DevCPR;
   BEGIN
     Factor(x, use);
     WHILE sym = and DO
-      Get(sym); Factor(y, use); IF use THEN x := x & y END
+      Get(sym); Factor(y, use & x); IF use & x THEN x := x & y END
     END
   END Term;
 
@@ -171,7 +171,7 @@ MODULE DevCPR;
   BEGIN
     Term(x, use);
     WHILE sym = or DO
-      Get(sym); Term(y, use); IF use THEN x := x OR y END
+      Get(sym); Term(y, use & ~x); IF use & ~x THEN x := x OR y END
     END
   END Expression;