Seed7 Release 2018-04-01

mertesthomas@gmail.com
Sun, 1 Apr 2018 23:43:15 -0700 (PDT)

          From comp.compilers

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

From: mertesthomas@gmail.com
Newsgroups: comp.compilers
Date: Sun, 1 Apr 2018 23:43:15 -0700 (PDT)
Organization: Compilers Central
Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="54575"; mail-complaints-to="abuse@iecc.com"
Keywords: available, OOP
Posted-Date: 03 Apr 2018 11:15:09 EDT

Hello,


I have released a new version of Seed7: seed7_05_20180401.tgz
The download is here: https://sourceforge.net/projects/seed7/files
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 new library logfile.s7i has been added. It defines the interface
    logFile. A logFile works like a normal file unless the log file
    has the value STD_NULL. When a logFile has the value STD_NULL string
    expressions written to the logFile are not evaluated. This reduces
    the overhead, when logging is turned off.
- The bas7.sd7 (basic interpreter) example program has been improved.
    The logging is now done via the new logFile type. This improves the
    performance, when no logging is done. Several DATA statements in one
    line are processed correctly now. Support for IF GOSUB and DISPLAY
    statements and for the function COMMAND$ has been added.
- Tests of nested bigInteger for loops have been added to chkbig.sd7.
- A test with the assignment of a hash variable to itself have been
    added to chkhsh.sd7.
- Tests of the replace function have been added to chkstr.sd7.
- In striutl.c the functions conv_from_os_stri, cstri8_to_stri and
    cstri8_buf_to_stri have been improved. Now they call realloc()
    only, when the size has changed. This improves the performance of
    conv_from_os_stri by 32% (measured with gcc and valgrind, when
    reading a directory).
- In str_rtl.c the function strUtf8ToStri has been improved to call
    realloc() only, when the size has changed.
- In cmd_rtl.c the functions add_stri_to_array and
    complete_stri_array have been renamed to addStriToRtlArray and
    completeRtlStriArray respectively. The renamed functions have also
    been improved to work with a simpler parameter list. Together with
    the improvement of conv_from_os_stri this improves the performance
    of cmdLs by 14% (measured with gcc and valgrind, when reading a
    directory).
- In cmdlib.c the function cmd_ls has been rewritten to be based on
    cmdLs. The functions cmp_mem and read_dir have been removed.
- In cmdlib.c the main loop in the function toArrayType has been
    optimized for performance.
- In str_rtl.c the function add_stri_to_array has been renamed to
    addCopiedStriToRtlArray and the function completeRtlStriArray has
    been introduced. The code of addCopiedStriToRtlArray has also been
    improved to work with a simpler parameter list.
- In strlib.c the function add_stri_to_array has been renamed to
    addCopiedStriToArray and the functions freeStriArray and
    completeStriArray have been introduced. The code of
    addCopiedStriToArray has also been improved to work with a simpler
    parameter list.
- The compiler has been improved to optimize the action HSH_CONTAINS,
    when the hash table is constant and contains one element.
- In the compiler (in comp/const.s7i) the actions BLN_ORD, CHR_ICONV1,
    CHR_ORD and INT_ODD have been added to the list of special actions.
    The compiler implements functions, which just call one of the
    special actions as inline functions. This allows optimizations for
    the boolean and char random number generator.
- The compiler (s7c) has been improved (in comp/destr.s7i) to define
    interface destructors, which take all possible implementation
    types into account. Additionally a switch statement is used instead
    of an if-then-else chain. Double entries are also avoided now.
- The function strChRepl has been added to str_rtl.c.
- The compiler has been improved to use strChRepl instead of strRepl,
    to optimize split operations.
- Unnecessary function parameters have been removed in several
    include files of the compiler.
- In flt_rtl.c the function doubleToCharBuffer has been improved to
    determine the integer value of the exponent without calling
    strtol().
- The function freeRtlStriArray has been added to arr_rtl.c.
- Several #define flags in pol_sel.c have been improved.
- The macro CSTRI_LITERAL_TO_STRI has been defined in striutl.h and
    used in analyze.c, arr_rtl.c, cmd_rtl.c, cmd_unx.c, infile.c,
    pcs_unx.c and pcs_win.c.
- Calls of logError have been added to functions in cmd_rtl.c,
    con_inf.c, prclib.c, soc_rtl.c, tim_dos.c, tim_rtl.c, tim_unx.c and
    tim_win.c.
- Documentation comments have been added or improved in cmdlib.c,
    int_rtl.c and tim_rtl.c.


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.