Unit tests and 0.14

Jeremy @ Cowgar jeremy at cowgar.com
Wed Jul 29 03:42:55 UTC 2009


Hello Lisaac-devel,

  The  unit  test  system is failing to compile using 0.14 for reasons
  such as:

Depending pass: ..--SEMANTIC---------
Type `{Expanded BOOLEAN}(TYPE_BLOCK)' is invalid with `Expanded {Expanded FALSE}(PROFIL_BLOCK)'.
Line 64 column 15 in BOOLEAN(C:/Development/Projects/Lisaac/compiler/lib2/base/boolean.li):
- elseif cond:{BOOLEAN} then block:{} :BOOLEAN <- deferred_boolean;
               ^

Line 93 column 14 in BOOLEAN_TEST(C:/Development/Projects/Lisaac/compiler/tests/boolean_test.li):
}.elseif { FALSE } then {
              ^

Other errors on abstract_string.li:

Depending pass: ....--SEMANTIC---------
Type `{}(TYPE_BLOCK)' is invalid with `Expanded {Expanded INTEGER}(PROFIL_BLOCK)'.
Line 87 column 32 in BLOCK(C:/Development/Projects/Lisaac/compiler/lib2/base/block.li):
  - Self:{BOOLEAN}.until_do body:{} <-
                                ^

Line 377 column 40 in ABSTRACT_STRING(C:/Development/Projects/Lisaac/compiler/lib2/string/abstract_string.li):
    { (! result) || { i = 0}}.until_do {


This is in the is_bit slot,

  - is_bit:BOOLEAN <-
  // True when the contents is a sequence of bits (i.e., mixed
  // characters `0' and characters `1').
  ( + i:INTEGER;
    + result:BOOLEAN;
    i := count;
    result := TRUE;
    { (! result) || { i = 0}}.until_do {
      result := item i.is_bit;
      i := i - 1
    };
    ? {result = (count = occurrences '0' + occurrences '1')};
    result
  );

-- 
Best regards,
 Jeremy                          mailto:jeremy at cowgar.com




More information about the Lisaac-devel mailing list