[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