[SCM] Lisaac compiler branch, master, updated. lisaac-0.12-526-gf5b0157

Benoit Sonntag sonntag at icps.u-strasbg.fr
Wed Oct 28 02:25:16 UTC 2009


The following commit has been merged in the master branch:
commit f5b015746e5dc63642160a462bbcb2424702a12f
Author: Benoit Sonntag <sonntag at icps.u-strasbg.fr>
Date:   Wed Oct 28 00:54:56 2009 +0100

    bug parent Mildred (3) UNSTABLE

diff --git a/src/code_life/case.li b/src/code_life/case.li
index c5c4939..9a39649 100644
--- a/src/code_life/case.li
+++ b/src/code_life/case.li
@@ -98,7 +98,7 @@ Section Public
         (wrt1 != NULL) && 
         {wrt2 != NULL} && 
         {wrt1.variable = wrt2.variable} && 
-        {wrt1.value == wrt2.value}
+        {wrt1.value ~= wrt2.value}
       );
     };
     result
diff --git a/src/external/arithmetic/expr_and.li b/src/external/arithmetic/expr_and.li
index 2385866..bf36757 100644
--- a/src/external/arithmetic/expr_and.li
+++ b/src/external/arithmetic/expr_and.li
@@ -74,7 +74,7 @@ Section Public
   //-- E & E -> E
   ( + result:EXPR;
     
-    (left == right).if {
+    (left ~= right).if {
       right.remove;
       result := left;
     };
diff --git a/src/external/arithmetic/expr_div.li b/src/external/arithmetic/expr_div.li
index 1f39490..bd518da 100644
--- a/src/external/arithmetic/expr_div.li
+++ b/src/external/arithmetic/expr_div.li
@@ -82,19 +82,19 @@ Section Public
   ( + result:EXPR;
     + neg:EXPR_NEG;
     
-    (right == left).if {
+    (right ~= left).if {
       result := INTEGER_CST.create position value 1 type static_type;
       right.remove;
       left .remove;
     } else {      
       neg ?= left;
-      ((neg != NULL) && {neg.right == right}).if {
+      ((neg != NULL) && {neg.right ~= right}).if {
 	result := INTEGER_CST.create position value (-1) type static_type;
 	left.remove;
 	right.remove;
       } else {
 	neg ?= right;
-	((neg != NULL) && {neg.right == left}).if {
+	((neg != NULL) && {neg.right ~= left}).if {
 	  result := INTEGER_CST.create position value (-1) type static_type;
 	  left.remove;
 	  right.remove;
diff --git a/src/external/arithmetic/expr_mod.li b/src/external/arithmetic/expr_mod.li
index f892f65..d9a2dc8 100644
--- a/src/external/arithmetic/expr_mod.li
+++ b/src/external/arithmetic/expr_mod.li
@@ -32,7 +32,7 @@ Section Inherit
   
   + parent_expr_binary:Expanded EXPR_BINARY;
   
-Section Private  
+Section Public
   
   + symbol:STRING_CONSTANT := "%";
   
@@ -66,7 +66,7 @@ Section Private
   //-- E % E -> 0
   ( + result:EXPR;
     
-    (left == right).if {
+    (left ~= right).if {
       result := INTEGER_CST.create position value 0 type static_type;
       left.remove;
       right.remove;
diff --git a/src/external/arithmetic/expr_or.li b/src/external/arithmetic/expr_or.li
index f18cfe3..edd6f86 100644
--- a/src/external/arithmetic/expr_or.li
+++ b/src/external/arithmetic/expr_or.li
@@ -77,7 +77,7 @@ Section Public
     + and_l,and_r:EXPR_AND;
     + not_l,not_r:EXPR_NOT;
     
-    (left == right).if {
+    (left ~= right).if {
       right.remove;
       result := left;
     } else {
@@ -87,7 +87,7 @@ Section Public
 	not_l ?= and_l.left;
 	not_r ?= and_r.right;
 	((not_l != NULL) && {not_r != NULL}).if {
-	  ((not_l.right == and_r.left) && {and_l.right == not_r.right}).if {
+	  ((not_l.right ~= and_r.left) && {and_l.right ~= not_r.right}).if {
 	    result := EXPR_XOR.create position with (not_l.right) and (and_l.right);
 	    right.remove;
 	  };
diff --git a/src/external/arithmetic/expr_shift_r.li b/src/external/arithmetic/expr_shift_r.li
index 74b6d42..a2c159e 100644
--- a/src/external/arithmetic/expr_shift_r.li
+++ b/src/external/arithmetic/expr_shift_r.li
@@ -69,7 +69,7 @@ Section Public
   //-- E(unsigned) >> E(unsigned) -> 0
   ( + result:EXPR;
     /*
-    (left == right) && {left.is_unsigned_type}.if {
+    (left ~= right) && {left.is_unsigned_type}.if {
       result := INTEGER_CST.create position value 0 type static_type;
       left .remove;
       right.remove;
diff --git a/src/external/arithmetic/expr_sub.li b/src/external/arithmetic/expr_sub.li
index fc73edf..decbb76 100644
--- a/src/external/arithmetic/expr_sub.li
+++ b/src/external/arithmetic/expr_sub.li
@@ -105,7 +105,7 @@ Section Public
     + mul:EXPR_MUL;
     + div:EXPR_DIV;
     
-    (left == right).if {
+    (left ~= right).if {
       left.remove;
       right.remove;
       result := INTEGER_CST.create position value 0 type static_type;
@@ -114,7 +114,7 @@ Section Public
       (mul != NULL).if {
 	div ?= mul.left;
 	(div != NULL).if {
-	  ((left == div.left) && {div.right == mul.right}).if {
+	  ((left ~= div.left) && {div.right ~= mul.right}).if {
 	    div.remove;
 	    result := EXPR_MOD.create position with left and (mul.right);
 	  };
diff --git a/src/external/arithmetic/expr_xor.li b/src/external/arithmetic/expr_xor.li
index 74e4995..7e40b46 100644
--- a/src/external/arithmetic/expr_xor.li
+++ b/src/external/arithmetic/expr_xor.li
@@ -32,7 +32,7 @@ Section Inherit
   
   + parent_expr_binary:Expanded EXPR_BINARY;
   
-Section Private  
+Section Public
   
   + symbol:STRING_CONSTANT := "^";
   
@@ -82,7 +82,7 @@ Section Private
   //-- E ^ E -> 0
   ( + result:EXPR;
     
-    (left == right).if {
+    (left ~= right).if {
       result := INTEGER_CST.create position value 0 type static_type;
       left .remove;
       right.remove;
diff --git a/src/external/comparison/expr_equal.li b/src/external/comparison/expr_equal.li
index 03d2fba..a3a72d4 100644
--- a/src/external/comparison/expr_equal.li
+++ b/src/external/comparison/expr_equal.li
@@ -60,7 +60,7 @@ Section Public
   ( + result:PROTOTYPE_CST;
     + r:PROTOTYPE_CST;
     
-    (left == right).if {
+    (left ~= right).if {
       result := PROTOTYPE_CST.create position type (type_true.default);
       left .remove;
       right.remove;
diff --git a/src/external/comparison/expr_inf.li b/src/external/comparison/expr_inf.li
index 809cbf9..bf674fc 100644
--- a/src/external/comparison/expr_inf.li
+++ b/src/external/comparison/expr_inf.li
@@ -59,7 +59,7 @@ Section Public
   //-- E < E -> FALSE
   ( + result:PROTOTYPE_CST;
     
-    (left == right).if {
+    (left ~= right).if {
       result := PROTOTYPE_CST.create position type (type_false.default);
       left .remove;
       right.remove;
diff --git a/src/external/comparison/expr_inf_eq.li b/src/external/comparison/expr_inf_eq.li
index eec4536..86c3955 100644
--- a/src/external/comparison/expr_inf_eq.li
+++ b/src/external/comparison/expr_inf_eq.li
@@ -59,7 +59,7 @@ Section Public
   //-- E <= E -> TRUE
   ( + result:PROTOTYPE_CST;
     
-    (left == right).if {
+    (left ~= right).if {
       result := PROTOTYPE_CST.create position type (type_true.default);
       left .remove;
       right.remove;
diff --git a/src/external/comparison/expr_not_equal.li b/src/external/comparison/expr_not_equal.li
index 69f42cd..1174fe5 100644
--- a/src/external/comparison/expr_not_equal.li
+++ b/src/external/comparison/expr_not_equal.li
@@ -61,7 +61,7 @@ Section Public
   ( + result:PROTOTYPE_CST;
     + r:PROTOTYPE_CST;
     
-    (left == right).if {
+    (left ~= right).if {
       result := PROTOTYPE_CST.create position type (type_false.default);
       left .remove;
       right.remove;
diff --git a/src/external/comparison/expr_sup.li b/src/external/comparison/expr_sup.li
index 81b4c5d..65247f6 100644
--- a/src/external/comparison/expr_sup.li
+++ b/src/external/comparison/expr_sup.li
@@ -71,7 +71,7 @@ Section Public
   //-- E > E -> FALSE
   ( + result:PROTOTYPE_CST;
     
-    (left == right).if {
+    (left ~= right).if {
       result := PROTOTYPE_CST.create position type (type_false.default);
       left .remove;
       right.remove;
diff --git a/src/external/comparison/expr_sup_eq.li b/src/external/comparison/expr_sup_eq.li
index 0332913..ad00424 100644
--- a/src/external/comparison/expr_sup_eq.li
+++ b/src/external/comparison/expr_sup_eq.li
@@ -59,7 +59,7 @@ Section Public
   //-- E >= E -> TRUE
   ( + result:PROTOTYPE_CST;
     
-    (left == right).if {
+    (left ~= right).if {
       result := PROTOTYPE_CST.create position type (type_true.default);
       left .remove;
       right.remove;
diff --git a/src/external/logic/expr_and_logic.li b/src/external/logic/expr_and_logic.li
index 5ec2ef1..d6f1826 100644
--- a/src/external/logic/expr_and_logic.li
+++ b/src/external/logic/expr_and_logic.li
@@ -80,7 +80,7 @@ Section Public
   //-- E & E -> E
   ( + result:EXPR;
         
-    (left == right).if {
+    (left ~= right).if {
       result := left;
       right.remove;
     };
diff --git a/src/external/logic/expr_or_logic.li b/src/external/logic/expr_or_logic.li
index 5be1a29..21db1ce 100644
--- a/src/external/logic/expr_or_logic.li
+++ b/src/external/logic/expr_or_logic.li
@@ -83,14 +83,14 @@ Section Public
     + sup:EXPR_SUP;
     + eq:EXPR_EQUAL;
 
-    (left == right).if {
+    (left ~= right).if {
       result := left;
       right.remove;
     } else {
       sup ?= left;
       eq  ?= right;
       ((sup != NULL) && {eq != NULL}).if {
-	((sup.left == eq.left) && {sup.right == eq.right}).if {
+	((sup.left ~= eq.left) && {sup.right ~= eq.right}).if {
 	  result := EXPR_SUP_EQ.create position with (sup.left) and (sup.right);
 	  right.remove;
 	};
diff --git a/src/variable/slot_data.li b/src/variable/slot_data.li
index 750314a..6788a08 100644
--- a/src/variable/slot_data.li
+++ b/src/variable/slot_data.li
@@ -175,7 +175,7 @@ Section Public
 	  is_rec_ok := TRUE;	
 	}.elseif {rec.is_constant} then {	
 	  wrt_slot ?= last_write;
-	  is_rec_ok := rec == wrt_slot.receiver;
+	  is_rec_ok := rec ~= wrt_slot.receiver;
 	} else {
 	  rd ?= rec;
 	  (rd != NULL).if {

-- 
Lisaac compiler



More information about the Lisaac-commits mailing list