[SCM] Lisaac compiler branch, master, updated. lisaac-0.12-393-g4a0c5bd

Benoit Sonntag sonntag at icps.u-strasbg.fr
Tue Aug 11 04:25:34 UTC 2009


The following commit has been merged in the master branch:
commit 4a0c5bd1b12a0f986d1ae2a55054ad8d337a9c51
Author: Benoit Sonntag <sonntag at icps.u-strasbg.fr>
Date:   Tue Aug 11 06:25:30 2009 +0200

    UNSTABLE 4: Sleep ;-)

diff --git a/src2/aliaser_local.li b/src2/aliaser_local.li
index 6179793..5cc427a 100644
--- a/src2/aliaser_local.li
+++ b/src2/aliaser_local.li
@@ -37,7 +37,7 @@ Section Private
     
 Section Public
   
-  - is_on:BOOLEAN := TRUE;
+  - is_on:BOOLEAN := FALSE;
   
   - reset <-
   (
@@ -82,6 +82,7 @@ Section Public
       };
       result := loc2.intern_name;
     } else {
+      add_var_size loc;
       result := loc.intern_name;
     };
     result
@@ -104,4 +105,36 @@ Section Public
     };
     result
   );
-  
\ No newline at end of file
+  
+Section Private
+  
+  - add_var_size v:LOCAL <-
+  ( + tab:FAST_ARRAY(LOCAL);
+    + j:INTEGER;
+    + t:TYPE_FULL;
+    
+    ? {v.style = '+'};
+    
+    (v.style != '+').if {
+      v.intern_name.print; " style [".print; v.style.print; "] ".print;
+      '\n'.print;
+      warning_error (v.position,"BUG ANY.add_var_size Error");
+    };
+    // BSBS: C'est pas top, avec des HASHED_SET ce serait mieux...
+    t := v.type;
+    tab := var_size.item (v.type.size);
+    j := tab.lower;    
+    {(j <= tab.upper) && {tab.item j.type != t}}.while_do {
+      j := j + 1;
+    };
+    (j > tab.upper).if {
+      tab.add_last v;
+    } else {
+      {(j <= tab.upper) && {tab.item j != v} && {tab.item j.type = t}}.while_do {
+	j := j + 1;
+      };
+      ((j > tab.upper) || {tab.item j != v}).if {
+	tab.add v to j;	
+      };
+    };
+  );

-- 
Lisaac compiler



More information about the Lisaac-commits mailing list