Project News for tecomp: The Eiffel Compiler

  • The Eiffel Compiler tecomp 0.18 has been released

    New features:

    - target conversion
    - self initializing types
    - some new featues in the kernel library classes SPECIAL, ARRAY and STRING

    2009-06-02 20:13:19 PDT by helmut_brandl

  • The Eiffel Compile tecomp 0.16 has been released

    ... with the following new features:


    - Underscore now allowed to improve the readability of
    integer constants (e.g. 2_100_095). Grouping of 3 is
    recommended but can be done arbitrarily. The integers have
    to start with a digit. The underscore is allowed in hex,
    octal and binary as well (e.g. 0x0fff_120a, 0c77_44,
    0b1111_0000).

    - Free operators implemented.

    - Webpresence improved at http://tecomp.sourceforge.net
    and language description improved.


    - Exception objects implemented. To raise an exception
    create an object of type DEVELOPER_EXCEPTION and call the
    feature raise. The class which handles exception has to
    inherit from EXCEPTION_MANAGER. The feature {{exception}}
    returns the raised exception. Object test can be used to
    check the type of the exception (see example below).




    class MY_EXCEPTION inherit DEVELOPER_EXCEPTION end

    class HANDLER inherit EXCEPTION_MANAGER feature
    raise_my_exception
    do
    (create {MY_EXCEPTION}).raise
    end

    raise_precondition
    require
    False
    do
    end

    test_exceptions
    local
    i:INTEGER
    do
    if i = 0 then
    raise_my_exception
    else if i = 1 then
    raise_precondition
    end
    rescue
    check i <= 1 end
    check i = 0 implies {e1:MY_EXCEPTION} exception end
    check i = 1 implies {e2:PRECONDITION_VIOLATION} exception end
    check i = 1 implies {e: ASSERTION_VIOLATION} exception end
    i := i + 1
    retry
    end
    end


    Available exception classes in the kernel library

    - EXCEPTION, EXCEPTION_MANAGER, DEVELOPER_EXCEPTION,

    - ASSERTION_VIOLATION, CHECK_VIOLATION,
    PRECONDITION_VIOLATION, POSTCONDITION_VIOLATION,
    INVARIANT_VIOLATION, LOOP_INVARIANT_VIOLATION,
    VARIANT_VIOLATION

    - BAD_INSPECT_VALUE, IO_EXCEPTION

    2009-04-27 08:39:52 PDT by helmut_brandl

  • The Eiffel Compiler tecomp 0.15 has been released

    Exception handling has been implemented.

    The performance of the virtual machine has been improved by 40%.

    2009-04-09 20:13:12 PDT by helmut_brandl

  • The Eiffel Compile tecomp 0.14 has been released

    == Features ==

    - Conversion procedure allows formal generics as
    source. This can be used e.g. in containers to convert an
    element to a container which contains that element.

    - Conversion procedure allows conversion from generic types
    with involve anchored types.

    - All relative paths in an acefile are evaluated relative
    to the directory of the acefile, regardless of the
    directory, where tecomp has been launched. This allows to
    invoke tecomp with "tecomp path/to/ace/file".



    == Some bugfixes ==

    - If the root class is not in the universe, the error is
    properly reported and no validation phase is entered.

    - Combination of labelled tuples and anchored types work
    well.

    - Some bugs in conjunction with generic types involving
    anchored types fixed.


    == Improvements ==

    - Calculation of replicated invariants improved.

    - Calculation of called version for replicated features
    simplified.


    2009-03-29 22:54:15 PDT by helmut_brandl

  • The Eiffel Compiler tecomp 0.13 has been released

    Now inline agents are implemted. Version 13 has some bugfixes.

    For details see the README.

    2009-03-23 07:44:36 PDT by helmut_brandl