Seed7 Release 2010-06-20

tm <>
Mon, 21 Jun 2010 00:13:41 -0700 (PDT)

          From comp.compilers

Related articles
Seed7 Release 2010-06-20 (tm) (2010-06-21)
| List of all articles for this month |

From: tm <>
Newsgroups: comp.compilers
Date: Mon, 21 Jun 2010 00:13:41 -0700 (PDT)
Organization: Compilers Central
Keywords: available
Posted-Date: 21 Jun 2010 11:02:11 EDT


I have released a new version of Seed7: seed7_05_20100620.tgz

In the Seed7 programming language new statements and operators
can be declared easily. Types are first class objects and therefore
templates/generics need no special syntax. Object orientation is
used when it brings advantages and not in places when other
solutions are more obvious.

Seed7 is covered by the GPL (and LGPL for the Seed7 runtime library).

- Documentation comments were added to the libraries "graph.s7i",
    "keybd.s7i" and "time.s7i".
- The compiler (comp.sd7) was improved to support the option -te
    which enables tracing of exceptions in the generated executeble.
- Some types generated by the compiler were renamed to make them
    unique (This helps a debugger to distinguish types when values are
- The declaration of 'flush' in "seed7_05.s7i" was improved (This way
    the compiled example program "sl.sd7" works with the correct cursor
- The functions 'prc_for_to' and 'prc_for_downto' in "prclib.c" were
    changed to terminate the loop when an exception was raised (This
    way the loop variable has the correct value when an exception
- The performance of the functions 'strAppend', 'strAppendTemp',
    'strConcatTemp', 'strHeadTemp' and 'strPush' in "str_rtl.c" was
- Several functions in "big_rtl.c" were improved to avoid a
    MEMORY_ERROR in the strange case when a 'realloc' which shrinks
    memory fails.
- The function alloc_positive_copy_of_negative_big and its calls in
    "big_rtl.c" were improved to avoid memory leaks in out of memory
- The functions 'bigIncr' and 'bigDecr' in "big_rtl.c" were improved
    to work as transactions in out of memory situations.
- The functions 'bigSuccTemp' and 'bigPredTemp' were improved to work
    without calling 'bigIncr' and 'bigDecr' respectively.
- The handling of constant expressions for values with the categories
    compiler was improved.
- The support for the actions "CMD_SHELL" and "REF_TRACE" in the
    compiler was improved.
- Code in the compiler was moved from the function 'generate_main' to
    'init_array_constants', 'init_struct_constants',
    'init_hash_constants' and 'init_interface_constants'.
- The creation of array constants in the compiler was improved to use
    a 'for' loop over a 'ref_list' instead of an 'integer' 'for' loop
    and an index access to an element of the (possible long) 'ref_list'
    (This speeds up compilation of programs with huge array constants).
- The function 'addTypeCategoryForLocalVars' was added to the
- The macro 'unlikely' was added to if statements which check for
    error conditions in the files "str_rtl.c", "big_rtl.c" and
- The macros 'likely' and 'unlikely' were defined in the file
    "common.h" and in several makefiles.
- Several functions in "flistutl.c" and "heaputl.c" were improved to
    produce a correct heap statistic.
- The const qualifier was added to function prototypes in
    "prg_comp.c" and "prg_comp.h".
- The functions 'prg_decl_objects', 'prg_error_count', 'prg_match',
    'prg_match_expr', 'prg_syobject' and 'prg_sysvar' in "prglib.c"
    were changed to call the corresponding functions from "prg_comp.c".
- The functions 'scr_setpos' and 'scr_write' in "scrlib.c" were
    changed to call the corresponding functions from "scr_rtl.c".
- The function 'printparam' was added to "traceutl.c".

Greetings Thomas Mertes

Seed7 Homepage:
Seed7 - The extensible programming language: User defined statements
and operators, abstract data types, templates without special
syntax, OO with interfaces and multiple dispatch, statically typed,
interpreted or compiled, portable, runs under linux/unix/windows.

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.