[SCM] Lisaac compiler branch, master, updated. lisaac-0.12-520-ge12adfe

Benoit Sonntag sonntag at icps.u-strasbg.fr
Sat Oct 24 02:41:47 UTC 2009


The following commit has been merged in the master branch:
commit e12adfe64e8db58e52ab5fb9b6ef0b21ce7ba040
Author: Benoit Sonntag <sonntag at icps.u-strasbg.fr>
Date:   Sat Oct 24 04:41:46 2009 +0200

    reflexivity begin UNSTABLE

diff --git a/src/external/forall_data.li b/src/external/forall_data.li
index 0d68ea0..e0ca3b8 100644
--- a/src/external/forall_data.li
+++ b/src/external/forall_data.li
@@ -33,9 +33,9 @@ Section Inherit
   
 Section Public
     
-  + action:ITM_BLOCK;
+  + action:ITM_READ_ARG2;
   
-  + list_data:FAST_ARRAY(COUPLE(SLOT_DATA,LIST));
+  + list_data:FAST_ARRAY(COUPLE(SLOT_DATA,EXPR));
   
   //
   // Creation.
@@ -49,11 +49,21 @@ Section Public
   );
 
   - make t:TYPE_FULL action ac:ITM_BLOCK <-
-  ( 
-    type   := t;
-    action := ac;
-    list_data := HASHED_DICTIONARY(LIST,SLOT_DATA).create;    
-    list.add_last Self;
+  ( + lst:FAST_ARRAY(SLOT);
+    + dta:SLOT_DATA;
+    + c:COUPLE(SLOT_DATA,EXPR);
+    
+    action := ITM_READ_ARG2.create (ac.position) name (ALIAS_STR.slot_value) args (,);
+    list_data := FAST_ARRAY(COUPLE(SLOT_DATA,EXPR)).create;    
+    t.add_reflexivity Self;
+    lst := t.slot_run;
+    (lst.lower).to (lst.upper) do { i:INTEGER;
+      dta := lst.item i.slot_data_intern;
+      (dta != NULL).if {
+        c := COUPLE(SLOT_DATA,LIST).create dta and ();
+        list_data.add_last c;
+      };
+    };
   );
   
   //
@@ -62,14 +72,17 @@ Section Public
   
   - my_copy:SELF <-
   (
-    
+    clone
   );
   
   //
   // Depend. 
   //
   
-  - depend
+  - add var:SLOT_DATA <-
+  (
+    
+  );
   
   //
   // Execute.
@@ -96,7 +109,17 @@ Section Public
   //
   
   - display buffer:STRING <-
-  (
-    
+  ( 
+    buffer.append "Forall_data:\n";
+    indent.append "  ";
+    (list_data.lower).to (list_data.upper) do { i:INTEGER;
+      buffer.append indent;
+      buffer.append "- ";
+      buffer.append (list_data.item i.first.intern_name);
+      buffer.append ":\n";
+      buffer.append indent;
+      list_data.item i.second.genere buffer;
+    };
+    indent.remove_last 2;    
   );
   
\ No newline at end of file
diff --git a/src/tools/coupled.li b/src/tools/couple.li
similarity index 94%
copy from src/tools/coupled.li
copy to src/tools/couple.li
index 5eefb49..a5a4db0 100644
--- a/src/tools/coupled.li
+++ b/src/tools/couple.li
@@ -20,7 +20,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 Section Header
   
-  + name        := COUPLED(E);
+  + name        := COUPLE(E,F);
 
   - copyright   := "2003-2007 Benoit Sonntag";
 
@@ -35,9 +35,9 @@ Section Inherit
 Section Public
   
   + first :E;
-  + second:E;
+  + second:F;
   
-  - create elt1:E and elt2:E :SELF <-
+  - create elt1:E and elt2:F :SELF <-
   ( + result:SELF;
     
     result := clone;
@@ -45,7 +45,7 @@ Section Public
     result
   );
   
-  - make elt1:E and elt2:E <-
+  - make elt1:E and elt2:F <-
   (
     first  := elt1;
     second := elt2;

-- 
Lisaac compiler



More information about the Lisaac-commits mailing list