Related articles |
---|
Seed7 Release 2017-03-05 mertesthomas@gmail.com (2017-03-08) |
From: | mertesthomas@gmail.com |
Newsgroups: | comp.compilers |
Date: | Wed, 8 Mar 2017 12:05:53 -0500 (EST) |
Organization: | Compilers Central |
Injection-Info: | miucha.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="94198"; mail-complaints-to="abuse@iecc.com" |
Keywords: | available, OOP |
Posted-Date: | 08 Mar 2017 12:05:53 EST |
Hello,
I have released a new version of Seed7: seed7_05_20170305.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 bigIPow in big_rtl.c has been
improved by a factor of 15 (measured with gcc and valgrind when
bitLength(123456789_**123456) is computed). Now Karatsuba
multiplication and Karatsuba squaring is used to compute the power.
- The performance of the function uBigMult in big_rtl.c has been
improved by 22% (measured with gcc and valgrind).
- The compiler has been improved to optimize expressions like:
stri := stri & ....
stri := stri[pos ..];
stri := lower(stri);
stri := upper(stri);
The optimization avoids an unnecessary copy of the string result of
the right hand side expression.
- The code generated by the compiler for the action STR_FOR has been
improved. Now correct code is generated, when the for-statement
loops over a string expression.
- The library seed7_05.s7i has been improved to support if-statements
with omitted statement after the keyword 'then'.
- The functions getFile and putFile have been added to osfiles.s7i.
- The bas7.sd7 (basic interpreter) example program has been improved.
Support for the commands FILES and LOAD has been added.
- Testcases for the power operator (**) and the operators div, rem,
mdiv and mod have been added to chkbig.sd7.
- Testcases for the new string optimizations done by the compiler have
been added to chkstr.sd7.
- Interpreter and compiler have been improved to support the action
PRC_IF_NOOP.
- The new library http_response.s7i has been added. It contains
support for HTTP responses.
- The comanche webserver has been improved to work with the new
library http_response.s7i.
- In big_rtl.c the functions bigIPow and bigIPowN have been improved
to use uBigSquareK and uBigMultK instead of uBigSquare and
uBigMultIntoHelp.
- In big_rtl.c an improved version of uBigDigitMult has been added and
an older deactivated (but faster) version of uBigMult has been
reactivated.
- In str_rtl.c the function strHeadTemp has been improved to avoid a
heap corruption for the strange corner case that shrinking a memory
area fails. Additionally this can only happen with the new compiler
optimization that generates the expression:
aString = strHeadTemp(aString, anIndex);
- The functions uBigMultIntoHelp and uBigSquare have been removed from
big_rtl.c
- In flt_rtl.c the functions fltDgts and fltSci have been improved to
work correct, when printf() does not have a fixed maximum for the
float precision.
- The program chkccomp.c has been changed such that several test
programs link with SYSTEM_LIBS, when wide variants of system file
funtions are tested.
- The test programs of chkccomp.c, which determine BOOLTYPE,
FLOAT_ZERO_DIV_ERROR, PRINTF_FMT_E_MAXIMUM_FLOAT_PRECISION and
PRINTF_FMT_F_MAXIMUM_FLOAT_PRECISION have been improved.
- The test programs of chkccomp.c, which determine database include
files have been improved to use something from the include file.
This way the correct include file is selected when a C compiler just
warns about a missing include file instead of flagging an error.
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.