Seed7 Release 2010-05-02

tm <>
Sun, 2 May 2010 13:25:37 -0700 (PDT)

          From comp.compilers

Related articles
Seed7 Release 2010-05-02 (tm) (2010-05-02)
| List of all articles for this month |

From: tm <>
Newsgroups: comp.compilers
Date: Sun, 2 May 2010 13:25:37 -0700 (PDT)
Organization: Compilers Central
Keywords: available
Posted-Date: 02 May 2010 22:35:42 EDT


I have released a new version of Seed7: seed7_05_20100502.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).

- The "chk_all.sd7" example program was improved to write detailed
    information when tests fail.
- The "shell.s7i" library was improved such that 'popen' behaves
    correctly when the created pipe is closed with 'close'.
- The compiler and the runtime library were improved to use the
    correct exeption handling function in compiled and interpreded code
    (When the compiled compiler analyzes a source program the
    interpreter will execute some expressions).
- The macro processing of the compiler was improved to work better
    for function macros.
- The functions seekFileLength, offsetTell, offsetSeek,
    remainingBytesInFile, getFileLengthUsingSeek,
    getBigFileLengthUsingSeek, filBigLng, filBigSeek, filBigTell,
    filClose, filGets, filPclose, filSeek and filTell in "fil_rtl.c"
    were added or improved. This way the types integer and offsettype
    both can have a size of 32- or 64-bit in any combination.
- The function ut8Gets in "ut8_rtl.c" was improved to use
- The makefiles "mk_osx.mak", "mk_linux.mak", "mk_cygw.mak" and
    "makefile" were improved to define USE_FSEEKO. This causes the use
    of 'fseeko' and 'ftello' as seek and tell functions in "fil_rtl.c".
- Support for the actions BST_CMP, BST_HASHCODE and FIL_PCLOSE was
    added to the interpreter and the compiler.
- The handling of types in the compiler was improved such that
    subtypes of 'boolean', 'enum', 'integer', 'bigInteger', 'float',
    'char', 'string' and 'bstring' are supported better.
- A definition of the type 'bstring' was added to the "progs.s7i"
- The compiler and the interpreter were improved to support 'bstring'
    as key and value for hash tables and 'ref_list' as value for hash
- A definition of an assignment statement for exceptions was added to
    the "seed7_05.s7i" library.
- Tests for the integer parse function were added to "chkint.sd7".
- The config value LITTLE_ENDIAN was renamed to LITTLE_ENDIAN_INTTYPE
    in several files.
- The compiler was improved to use the functions bstriLiteral and
    typeLiteral to write occurrences of 'bstring' and 'type' literals
    to the generated C program.
- The compiler was improved to create prototypes for the functions
    bstCmp, bstCmpGeneric, bstCreateGeneric, bstHashCode, bstValue,
    drwGenPointList, filClose, filPclose, rflCreateGeneric and typStr.
- The function rflCmp was added to "rfl_data.c".
- The handling of the flag FTELL_WRONG_FOR_PIPE was moved from
    "cmd_rtl.c" to "fil_rtl.c".
- Usages of the constant ULONG_MAX were replaced by UINTTYPE_MAX in
    the files "flt_rtl.c", "int_rtl.c" and "int_rtl.h".
- The function drwGenPointList was changed to use an array parameter
    in "drwlib.c", "drw_drv.h", "drw_win.c", "drw_x11.c" and
- The processing of bstParse, bstValue, drwPFArcPieSlice, setSConv,
    typStr and array cpy_* in the compiler was improved.
- The const qualifier was added to function prototypes in
    "rfl_data.c" and "rfl_data.h".

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.