Seed7 Release 2016-08-31

mertesthomas@gmail.com
Wed, 14 Sep 2016 03:46:37 -0700 (PDT)

          From comp.compilers

Related articles
Seed7 Release 2016-08-31 mertesthomas@gmail.com (2016-09-14)
| List of all articles for this month |

From: mertesthomas@gmail.com
Newsgroups: comp.compilers
Date: Wed, 14 Sep 2016 03:46:37 -0700 (PDT)
Organization: Compilers Central
Injection-Info: miucha.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="39258"; mail-complaints-to="abuse@iecc.com"
Keywords: available, OOP
Posted-Date: 14 Sep 2016 09:53:07 EDT

Hello,


I have released a new version of Seed7: seed7_05_20160831.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 Seed7 runtime library has been improved to allow paths longer
    than PATH_MAX (260) characters under Windows.
- The program sydir7.sd7 has been improved. Now it is avoided to copy
    a file, when source and destination differ only by date. The
    option -c has been added. With -c the source is copied and files
    that are missing in the source are removed from the destination.
- The function readVolumeName in dir_rtl.c has been improved to allow
    extended length paths (This paths exist under Windows and have a
    prefix of \\?\ ).
- The functions opendir and wopendir in dir_win.c have been improved
    to allow paths longer than 260.
- In the library seed7_05.s7i the undocumented function xalloc has
    been removed.
- The function printArgv has been added to arr_rtl.c to improve the
    logging.
- The program chkccomp.c has been improved to write settings to
    always use the directory functions from dir_win.c under Windows.
- The function adjustCwdForShell has been added to cmd_rtl.c. This
    function sets the current working directory to something acceptable
    by cmd.exe.
- In stat_win.c the function wstati64 has been renamed to wstati64Ext
    and improved to call the original stat function, when possible.
- The new file stat_drv.h has been added. In this file a prototype
    of wstati64Ext is defined when necessary.
- The program wrdepend.c has been improved to work correctly, when
    the INCLUDE_OPTIONS macro contains newline characters.
- Calls of logFunction have been added to arr_rtl.c, cmd_rtl.c,
    dir_rtl.c, executl.c, fil_rtl.c, pcs_win.c, runerr.c, sctlib.c,
    sigutl.c, stat_win.c and striutl.c.
- Calls of logError have been added to arrlib.c, blnlib.c, cmd_rtl.c,
    conlib.c, dir_win.c, drwlib.c, enulib.c, fil_rtl.c, itflib.c,
    lstlib.c, prclib.c, reflib.c and striutl.c.


Changelog from version 2016-07-31:
- The bas7.sd7 (basic interpreter) example program has been improved.
    Support for CVD, CVDMBF, CVS, CVSMBF, HPLOT, MKD$, MKDMBF$, MKS$,
    MKSMBF$, PLOT, SCREEN, SHARED and VARPTR$ has been improved.
    Creating Cga, Ega and Vga images from arrays has been improved to
    work also for float and double arrays.
- The functions bin32, compare, hashCode, float2Bits, bits2Float,
    float2MbfBits and mbfBits2Float have been added to bin32.s7i. The
    functions fourBytesLeToBin32 and fourBytesBeToBin32 have been
    removed (The new function bin32 can be used instead).
- The functions bin64, compare, hashCode, float2Bits, bits2Float,
    float2MbfBits and mbfBits2Float have been added to bin64.s7i. The
    functions eightBytesLeToBin64 and eightBytesBeToBin64 have been
    removed (The new function bin64 can be used instead).
- The program chkbin.sd7 has been added. This program checks the
    correctness of the functions float2Bits, bits2Float, float2MbfBits,
    mbfBits2Float, str, radix and RADIX.
- Checks for the function decompose have been added to chkflt.sd7.
- The compiler has been improved optimize expressions where several
    terms are added or subtracted. It is possible to combine adjacent
    constant terms at compile time. This simplifies overflow checks.
- The compiler has been improved to store NaN values as bin64
    literals.
- The calc7 example program has been improved to support bin32 and
    bin64 functions.
- The function decompose and the type floatElements have been added
    to the library float.s7i. The function decompose splits a float into
    a normalized fraction and an integral exponent for 2. The result
    of decompose uses the type floatElements.
- The function integer (it converts a string to an integer) has been
    added to integer.s7i.
- In the library seed7_05.s7i the undocumented function xalloc has
    been replaced by the function create.
- The functions uintCmp and uintCmpGeneric have been added to
    int_rtl.c.
- The configuration value FREXP_INFINITY_NAN_OKAY has been added to
    cc_conf.s7i.
- The primitive action FLT_A2TAN has been renamed to FLT_ATAN2 in
    interpreter, compiler and runtime library.
- Documentation comments have been improved in bitdata.s7i, arrlib.c,
    binlib.c, bstlib.c, bst_rtl.c, fillib.c, kbdlib.c, literal.c.
- Interpreter and compiler have been improved to support the primitiv
    actions BIN_CMP, FLT_BITS2DOUBLE, FLT_BITS2SINGLE, FLT_DECOMPOSE,
    FLT_DOUBLE2BITS and FLT_SINGLE2BITS.
- The program chkccomp.c has been improved to define
    FREXP_INFINITY_NAN_OKAY and to work for PostgreSQL version 9.5.


Changelog from version 2016-06-30:
- The bas7.sd7 (basic interpreter) example program has been improved.
    Support for CVSMBF, CVDMBF, FLASH, FRE, GR, HGR, HOME, HTAB,
    INVERSE, NORMAL, TEXT, PR# and VTAB has been added. Support for
    CLEAR, COLOR, GET, INPUT, LOG, SQR and RUN has been improved.
    Some keywords can now be used as label.
- Documentation comments have been added or improved in seversl files.
- Definitions of the operator @:= have been added to bitset.s7i,
    bitsetof.s7i and hashsetof.s7i.
- The compiler has been improved optimize expressions like
    factor*base**exponent when the base is a power of two.
- In x509cert.s7i the constant stdCertificate has been improved to
    have a new validity (until end of 2017).
- In drw_win.c the function privateConsole has been improved to
    determine a private console window (A cmd.exe console that was
    invoked implizit when the program started) more reliable. This
    avoids that an already existing console (from which the program was
    started) is accidentally hidden.
- The function redraw in drw_x11.c has been improved to ignore NULL
    windows (EXPOSE events can arrive after a window has been freed).
- The function drwFree in drw_x11.c has been improved to free also the
    backup pixmap.
- Compiler and interpreter have been improved to support the action
    REF_ALLOC_INT.
- Checks for factor*base**exponent when the base is a power of two
    have been added to chkflt.sd7.
- Checks with several summands in a chain and checks of the
    subtraction of integer.first have been added to chkint.s7i.
- First steps have been done for a compiler optimization of adding
    and subtracting several summands in a chain.
- Occurances of nodeValue and MDULEOBJECT have been removed from
    interpreter and runtime library.
- The function prg_find has been removed from prglib.c.
- The function ref_find has been removed from reflib.c.
- The support for the actions PRG_FIND and REF_FIND has been removed
    from the interpreter.
- Function and variable definitions in setpaths.c and wrdepend.c have
    been changed to static definitions.


Changelog from version 2016-05-31:
- Documentation comments have been added or improved in many files.
- The compiler (s7c) has been improved to start C compiler and linker
    direct and not via a shell (except when the compiler must be started
    with a script).
- The program chkccomp.c has been improved to use consecutive numbers
    for test program files.
- The program chkccomp.c has been improved to show the progress of the
    tests done.
- The experimental function startProcess, with files to redirect, has
    been added to process.s7i.
- The functions childStdIn, childStdOut and childStdErr have been
    added to process.s7i.
- The function shellParameters has been added to shell.s7i.
- The function noEmptyStrings has been added to seed7_05.s7i.
- A conv operator to convert an interface object to a specific
    implementation type has been added to seed7_05.s7i.
- The compiler (s7c) has been improved to support the new conv
    operator defined in seed7_05.s7i.
- In cc_conf.s7i the configuration values CC_OPT_DEBUG_INFO,
    CC_FLAGS, LINKER_FLAGS, SYSTEM_LIBS, SYSTEM_CONSOLE_LIBS,
    SYSTEM_DRAW_LIBS and SYSTEM_DB_LIBS have been changed to be arrays
    of strings instead of strings.
- In cc_conf.s7i the configuration values CALL_C_COMPILER_FROM_SHELL,
    CC_ERROR_FILDES, REDIRECT_FILDES_1, REDIRECT_FILDES_2 and
    NULL_DEVICE have been added.
- In cc_conf.s7i the configuration value REDIRECT_C_ERRORS has been
    removed.
- Interpreter and compiler have been improved to support the actions
    PCS_CHILD_STDERR, PCS_CHILD_STDIN, PCS_CHILD_STDOUT, FIL_PIPE and
    FIL_OPEN_NULL_DEVICE.
- The function analyzeProg in analyze.c has been improved to have less
    usages of the global variable prog.
- The functions in chkccomp.c have been changed to static functions.
- The program chkccomp.c has been improved to define
    POPEN_SUPPORTS_CLOEXEC_MODE, FOPEN_SUPPORTS_CLOEXEC_MODE,
    HAS_FCNTL_SETFD_CLOEXEC and HAS_PIPE2.
- The function filPipe has been added to fil_unx.c and fil_win.c.
- In fil_rtl.c the functions filOpen and filPopen have been improved
    to open files with the CLOEXEC flag, when possible.
- The function filOpenNullDevice has been added to fil_rtl.c.
- The functions init_findid, init_entity and init_sysvar have been
    changed to use a progType parameter.
- The functions pcsStart in pcs_unx.c and pcs_win.c have been improved
    to have parameters for stdin, stdout and stderr.
- The functions pcsChildStdErr, pcsChildStdIn and pcsChildStdOut have
    been added to pcs_rtl.c.
. The functions pcs_childStdErr, pcs_childStdIn and pcs_childStdOut
    have been added to pcslib.c.
- In src/read_me.txt descriptions of SEARCH_PATH_DELIMITER.
    REDIRECT_FILDES_1, REDIRECT_FILDES_2, NULL_DEVICE, REDIRECT_C_ERRORS
    and CC_ERROR_FILDES have been improved.
- The functions find_sysvar and concat_path have been renamed to
    findSysvar and concatPath respectively.


Changelog from version 2016-04-30:
- The makefile mk_clangw.mak has been improved, such that compilation
    with newer versions of clang under Windows works better.
- Tests for integer parse have been added to chkexc.sd7.
- The function doRemove in chkccomp.c has been improved to write
    nothing to the console.
- The function showErrors has been added to chkccomp.c.
- In actutl.c the functions searchAction and findAction have been
    improved to use fewer parameters and the function getActIllegal
    has been added.
- In chkccomp.c the function writeReadBufferEmptyMacro has been
    improved to optionally use _get_stream_buffer_pointers() to define
    the macro read_buffer_empty.
- The operator 'char conv' has been improved to check if the integer
    fits in a character.
- Documentation comments have been improved in float.s7i, poll.s7i,
    actlib.c actutl.c, big_gmp.c, big_rtl.c, bln_rtl.c, bst_rtl.c,
    chr_rtl.c, cmd_rtl.c, dir_dos.c, dir_win.c, drw_rtl.c, fltlib.c,
    flt_rtl.c, int_rtl.c, pcs_rtl.c, pollib.c, pol_sel.c, pol_unx.c,
    prg_comp.c, rfl_data.c, setlib.c, set_rtl.c and str_rtl.c.
- Calls of logFunction have been added to cmdlib.c and flt_rtl.c.
- Calls of logError have been added to functions in actlib.c,
    biglib.c, bstlib.c, chrlib.c, cmdlib.c, drwlib.c, fillib.c,
    fltlib.c, hshlib.c, intlib.c, pcslib.c, pollib.c, prglib.c,
    rfl_data.c, rfllib.c, sctlib.c, setlib.c, strlib.c and typlib.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.