Related articles |
---|
Seed7 Release 2016-08-31 mertesthomas@gmail.com (2016-09-14) |
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.
Return to the
comp.compilers page.
Search the
comp.compilers archives again.