Seed7 Release 2015-01-18

mertesthomas@gmail.com
Sun, 18 Jan 2015 11:19:53 -0800 (PST)

          From comp.compilers

Related articles
Seed7 Release 2015-01-18 mertesthomas@gmail.com (2015-01-18)
| List of all articles for this month |

From: mertesthomas@gmail.com
Newsgroups: comp.compilers
Date: Sun, 18 Jan 2015 11:19:53 -0800 (PST)
Organization: Compilers Central
Injection-Date: Sun, 18 Jan 2015 19:19:53 +0000
Keywords: available, OOP
Posted-Date: 18 Jan 2015 16:51:45 EST

Hello,


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


Changelog:
- The performance of the function bytes2Int in bytedata.s7i has been
    improved by 10% (measured with gcc and valgrind). An intermediate
    function has been removed and a boolean parameter has been omitted
    from the underlying C function .
- The function check_string_concat, which contains checks for string
    concatenation, has been added to chkstr.sd7.
- Improvements have been done in gethttp.s7i and tls.s7i to avoid
    blocking and exceptions, when a socket is closed or unexpected data
    is read.
- Several optimizations in the compiler (s7c) have been done:
    - The function optimize_str_cat has been added to comp/str_act.s7i.
        This function optimizes sequences of string concatenations.
    - The flag prefer_result_expr has been added to the struct
        expr_type in comp/expr.s7i. With this flag it can be requested
        that a parameter is preferred as result_expr (the value is
        allocated at the heap).
    - The function process_int_str has been added to int_act.s7i.
        This function is used for INT_STR and for the radix operator
        when the base is 10.
- The program chk_all.sd7 has been changed to ignore the exception
    FILE_ERROR, when it is raised by some calls of removeFile.
- In int_rtl.c the functions intBytesBe2Int and intBytesLe2Int have
    been changed to convert only signed values (in twos-complement
    representation). The parameter isSigned has been removed.
- The functions intBytesBe2UInt and intBytesLe2UInt have been added
    to int_rtl.c. This functions convert unsigned values.
- The function write_place in error.c has been fixed to write the
    correct file name and line. This error has been introduced in
    version 2014-09-07, when the function write_place has been added.
- A definition and calls of the macro logError have been added to
    fil_rtl.c and soc_rtl.c.
- A version of the function alloc has been added to progs.s7i. This
    version allocates a string object.
- The functions prot_params and prot_name in traceutl.c have been
    improved to write syntax with keywords at the beginning and at the
    end correctly.
- In ref_data.c the functions refAlloc, refArrMaxIdx, refArrMinIdx,
    refArrToList, refBody, refCategory, refFile, refHshDataToList,
    refHshKeysToList, refIsVar, refItfToSct, refLine, refLocalConsts,
    refLocalVars, refNum, refParams, refResini, refResult,
    refSctToList, refStr, refType, actValue, bigValue, blnValue,
    bstValue, chrValue, drwValue, filValue, fltValue, intValue,
    pcsValue, polValue, prgValue, refValue, rflValue, setValue,
    strValue and typValue have been changed to use const parameters.
- The actions INT_BYTES_BE and INT_BYTES_LE have been replaced by
    INT_BYTES_BE_SIGNED, INT_BYTES_BE_UNSIGNED, INT_BYTES_LE_SIGNED and
    INT_BYTES_LE_UNSIGNED.
- The actions INT_BYTES_BE_2_UINT, INT_BYTES_LE_2_UINT and
    REF_ALLOC_STRI have been added.


Regards,
Thomas Mertes


--
Seed7 Homepage: http://seed7.sourceforge.net
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.