Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.compilers > #1334
| From | mertesthomas@gmail.com |
|---|---|
| Newsgroups | comp.compilers |
| Subject | Seed7 Release 2014-07-20 |
| Date | 2014-07-20 10:50 -0700 |
| Organization | Compilers Central |
| Message-ID | <14-07-044@comp.compilers> (permalink) |
Hello, I have released a new version of Seed7: seed7_05_20140720.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 compiler has been improved to generate overflow checking code by default. The generation of overflow checking code can be switched off with the option -so. - The exception OVERFLOW_ERROR has been introduced. It is raised by the interpreter and by compiled programs when an integer overflow occurs. - A paragraph about integer overflow and the installation of Seed7 has been added to the FAQ. - The chapter about exceptions in the manual has been improved. - The program chkovf.sd7, which checks the recogition of integer overflows, has been added. - Checks for +, -, *, rem, mod, <<, +:=, -:=, *:=, succ, pred, incr and decr have been added to chkint.sd7. - Checks for the lpad operator have been added to chkstr.sd7. - The compiler option -r has been replace by the option -sr. - The program calc7.sd7 has been improved to report MEMORY_ERROR and OVERFLOW_ERROR. - The library make.s7i has been improved such that make7.sd7 accepts echo (and echo.) statements without parameters. - The function eof has been defined for the type tlsFile in tls.s7i. - The function gets in tls.s7i has been improved. - The function getHttp in gethttp.s7i has been improved to avoid an endless loop when eof has been reached. - The function memcpy_from_strelem has been added to striutl.c. This function uses loop unrolling inspired by Duff's device and a trick with a binary or (|=) to check for allowed values. - The functions filWrite, socWrite and bstParse have been changed to use memcpy_from_strelem. The reduction in runtime has been measured with gcc and valgrind. The runtime of filWrite, socWrite and bstParse has been reduced to 53%, 61% and 56% respectively. - Documentation comments have been added to integer.s7i, bin32.s7i, intlib.c and striutl.c. - The compiler has been improved to generate overflow checking code for *, <<, >>, *:=, <<:= and >>:= . - The generation of overflow checking code for the operators rem and mod has been improved. - Checks for overflow, division by zero, numeric error and index out of bounds in compiled programs now use the macros ovfChk, divChk, numChk and idxChk. This macros inform the C compiler about the unlikeliness of an exception. - The function fltIPow has been improved to avoid a signed integer overflow, when the exponent is the most negative integer. - The primitive actions INT_ULSHIFT and INT_ULSHIFT_ASSIGN have been added and supported in interpreter and compiler. - A version of the function uint_rand, which uses 128-bit integers, has been added to int_rtl.c. - The function raise_error3 in runerr.c has been renamed to interprRaiseError. - The configuration values INT128TYPE, UINT128TYPE and MACRO_DEFS have been added to cc_conf.s7i. The configuration value SIGILL_ON_OVERFLOW has been replaced with OVERFLOW_SIGNAL. - The functions constValueIsEqual, checkRangeFromZero, process_const_int_lshift, process_const_int_lshift_assign, process_const_int_rshift_assign, process_const_int_mult, process_const_int_mult_assign, process_const_int_ulshift_assign, process_const_int_ulshift and process_const_int_urshift_assign have been added to int_act.s7i. - The function intExpr in chkbig.sd7, chkexc.sd7, chkint.sd7 and chkstr.sd7 has been changed to make sure that the C compiler cannot evaluate it at compile time. - The runtime of the functions str_lpad, strLpad and strLpadTemp has been improved. 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.
Back to comp.compilers | Previous | Next | Find similar | Unroll thread
Seed7 Release 2014-07-20 mertesthomas@gmail.com - 2014-07-20 10:50 -0700
csiph-web