Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.compilers > #1093
| From | mertesthomas@gmail.com |
|---|---|
| Newsgroups | comp.compilers |
| Subject | Seed7 Release 2014-02-16 |
| Date | 2014-02-16 02:36 -0800 |
| Organization | Compilers Central |
| Message-ID | <14-02-014@comp.compilers> (permalink) |
Hello, I have released a new version of Seed7: seed7_05_20140216.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: - A new numeric escape sequence for string literals has been introduced. A backslash followed by an integer literal and a semicolon is interpreted as character with the specified ordinal number. E.g.: "abc\128;def". With the old numeric escape sequence this would be "abc\128\def". Terminating the escape sequence with ; instead of \ improves the readability, especially when escape sequences follow each other. Instead of "\8\\12\\7\8\9\\\" it is now possible to write "\8;\12;\7;8\9;\\" The old escape sequence is still supported, but it is deprecated and should not be used. Future versions will warn about the deprecated escape sequence. - The conversion functions 'bytes' and 'bytes2Int' in bytedata.s7c have been improved to support all combinations of signedness and endianess. - The functions bStriBe and bStriLe have been removed from bstring.s7i. The function 'bytes' in bytedata.s7c can be used as replacement. - Checks for lowestSetBit and UNSIGNED conversions with the functions 'bytes' and 'bytes2Int' have been added to chkint.sd7. - Checks for UNSIGNED conversions with the functions 'bytes' and 'bytes2BigInt' have been added to chkbig.sd7. - Checks for the function rand have been added to chkset.sd7. - The parser has been improved to write error messages when the source file contains unexpected UTF-8 continuation bytes, solitary UTF-8 start bytes, extended control codes from the C1 set or an UTF-16 byte order mark. - In tar.s7i the functions getoct, putspc and putoct have been improved. The computation of the size of padding data has also been improved. - The compiler has been improved to optimize string initialisations with the function strZero. StrZero creates a string of arbitrary length with '\0;' (zero) bytes. - The compiler has been improved to optimize integer exponentiation (action INT_POW). Now the multiplication pattern is determined at compile time and the number of multiplications is reduced. - The performance of the function setCard in set_rtl.c has been improved by a factor of 2.5. - The performance of the function setRand in set_rtl.c has been improved by a factor of 2.3. - Loop unrolling inspired by Duff's device has been introduced in striutl.h. The unrolling is used for tight loops which copy byte data to Seed7 strings in fil_rtl.c, soc_rtl.c and bst_rtl.c. The performance improvement has been verified with gcc and valgrind. - The example program err.sd7, which checks compile time error messages, has been improved. - The old way to store the data of constant bigIntegers has been removed from compiler and runtime library. - The buffers used in intRadix and intRadixPow2 (file int_rtl.c) have been enlarged to fit for the most negative number with a base of 2. - In itflib.c the functions itf_cpy and itf_cpy2 have been fixed to work correctly, when the destination is converted from a struct to an interface. - In traceutl.c the tracing of characters has been improved in the functions prot_char, prot_os_stri, prot_stri_unquoted and prot_bstri. - In ut8_rtl.c the function ut8Getc has been improved to use smarter checks for ranges of characters. - The deprecated variant of the function str, which has a second parameter to specify a numeric base, has been removed. The operators radix and RADIX can be used instead. - Interpreter and compiler have been improved to support the new actions INT_BYTES_BE, INT_BYTES_LE, INT_BYTES_BE_2_INT and INT_BYTES_LE_2_INT. The functions intBytesBe, int_bytesBe, intBytesLe, int_bytesLe, intBytesBe2Int, int_bytesBe2Int, intBytesLe2Int and int_bytesLe2Int have been added. - Support for the actions BIG_CLIT, INT_TO_BSTRI_BE, INT_TO_BSTRI_LE, INT_BYTES_BE_2_UINT and INT_BYTES_LE_2_UINT has been removed from interpreter and compiler. The functions bigImport, bigCLit, big_clit, intToBStriBe, int_toBStriBe, intToBStriLe, int_toBStriLe, intBytesBe2UInt, int_bytes_be_2_uint, intBytesLe2UInt and int_bytes_le_2_uint have been removed. 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-02-16 mertesthomas@gmail.com - 2014-02-16 02:36 -0800
csiph-web