Seed7 / News: Recent posts

New Seed7 Release 2015-08-23

A new version of the extensible programming language Seed7, has been released.
See: http://seed7.sourceforge.net

Changelog:

  • The example program raytrace.sd7 has been added. This program is a raytracing demo.
  • The library vector3d.s7i, which supports 3D vectors, has been added.
  • The compiler s7c has been improved to create code to manage free lists for struct data. This avoids many calls of malloc() and free(). The maximum length of the free lists is determined automatically at run-time.
  • In color.s7i the elements of the type color have been renamed to redLight, greenLight and blueLight. The files mahjong.sd7 and draw.s7i have been changed to use the new element names of the type color.
  • The functions doubleToCharBuffer, fltDgts and fltSci in flt_rtl.c have been improved to work without calls of strlen().
  • The function bigHexCStri in big_rtl.c has been improved to use fewer calls of memmove() and strlen().
  • The function process_pragma() in analyze.c has been improved to use fewer calls of strlen().
  • The function opendir in dir_dos.c and dir_win.c has been improved to work without calls of strcat().
  • The functions striAsUnquotedCStri and bstriAsUnquotedCStri in striutl.c have been improved to use fewer calls of strlen().
  • The function cp_to_command in striutl.c has been improved to use fewer calls of os_stri_strlen.
  • The function getcaps in trm_cap.c has been improved to use fewer calls of strcat().
  • The function fix_capability in trm_inf.c has been improved to use fewer calls of strcat().
  • The function strLit in str_rtl.c has been improved to work without calls of strlen().
  • The functions calculate_output_length and print_stri in error.c have been improved to use fewer calls of strlen().
  • The function prot_os_stri has been removed from traceutl.c.
  • The macros 'likely' and 'unlikely' have been added to functions in act_comp.c, analyze.c, arr_rtl.c, big_gmp.c, big_rtl.c, chr_rtl.c, cmd_rtl.c, cmd_unx.c, cmd_win.c, con_win.c, hshlib.c, hsh_rtl.c, soc_rtl.c, striutl.c and traceutl.c.
  • Checks for err_info != OKAY_NO_ERROR have been replaced by checks for pointer variables beeing NULL in cmd_win.c, dir_rtl.c, fil_rtl.c, pcs_unx.c, pcs_win.c, striutl.c. Since references to err_info are used this variable cannot be placed into a register. The pointer variables used now can be placed into a register.
  • Variables in big_rtl.c, dir_rtl.c and striutl.c have been changed to constants.... read more
Posted by Thomas Mertes 2015-08-23

New Seed7 Release 2015-08-02

A new version of the extensible programming language Seed7, has been released.
See: http://seed7.sourceforge.net

Changelog:

  • An explanation, how Seed7 programs can be debugged with Eclipse, has been added to the FAQ.
  • Checks for the operators << and >> have been added to chkbig.sd7.
  • Checks for string comparisons ( < <= > >= ) and the operator 'mult' have been added to chkstr.sd7.
  • The functions bigLShift, bigLShiftAssign, bigRShift and bigRShiftAssign in big_gmp.c and big_rtl.c have been improved to avoid a signed integer overflow, when the shift count is the most negative integer.
  • The compiler has been improved to optimize code for bigInteger shifts and compares.
  • The compiler has been improved to create inline code for some string comparisons ( < <= > >= ) and the operator 'mult'.
  • In int_rtl.c the function intLpad0 has been improved to avoid a signed integer overflow when the number is the most negative integer.
  • In numlit.c the functions decimalValue, basedValue, readBigBased, basedInteger, intExponent and lit_number have been changed to work with unsigned integers.
  • Calls of logFunction have been added to atom.c, doany.c, entutl.c, exec.c, executl.c, expr.c, findid.c, libpath.c, name.c, object.c, parser.c, syntax.c, token.c and type.c.
  • The type of digit_value elements has been changed to uintType.
  • The function drwImage in drw_win.c has been improved to avoid a multiplication in the inner loop.... read more
Posted by Thomas Mertes 2015-08-03

New Seed7 Release 2015-07-20

A new version of the extensible programming language Seed7, has been released.
See: http://seed7.sourceforge.net

Changelog:

  • The chapter about errors in the manual has been improved.
  • In seed7_05.s7i parameter declarations without parameter name (which use the keyword 'param') have been changed to parameter declarations with parameter name.
  • The compare functions in rational.s7i and bigrat.s7i have been improved.
  • The compiler has been improved to use inline code for the integer compare function.
  • Checks for the compare function have been added to chkint.sd7.
  • Checks for hash tables with bigInteger, rational and bigRational keys have been added to chkhsh.sd7.
  • Calls of logError have been added to pcs_unx.c, pcs_win.c, ref_data.c,
  • Calls of logFunction have been added to big_rtl.c, blockutl.c, drw_win.c, flistutl.c, gkb_win.c, gkb_x11.c, heaputl.c, hshlib.c, identutl.c, infile.c, listutl.c, pcs_unx.c, pcs_win.c, ref_data.c, tim_dos.c, tim_unx.c, tim_win.c, trm_inf.c, typ_data.c, typeutl.c and typlib.c.
  • In cc_conf.s7i, flt_act.s7i, cmd_rtl.c and common.h the configuration value MAX_INTEGER_IN_FLOATTYPE has been renamed to INT_RANGE_IN_FLOATTYPE_MAX.
  • Documentation comments have been added to string.s7i, strlib.c and str_rtl.c.... read more
Posted by Thomas Mertes 2015-08-01

New Seed7 Release 2015-07-05

A new version of the extensible programming language Seed7, has been released.
See: http://seed7.sourceforge.net

Changelog:

  • The chapters describing statements and object orientation in the manual have been improved.
  • The library tls.s7i has been improved to use explicit initialisation vectors (IVs) for block ciphers, when the TLS version is 1.1 or higher.
  • The library tls.s7i has been improved to avoid raising exceptions, when the handshake fails.
  • The list of supported ciphers in tls.s7i has been changed.
  • The functions round and trunc in float.s7i have been improved to raise RANGE_ERROR, when the float value cannot be represented as integer.
  • The function log2 has been added to the library math.s7i.
  • Checks for the functions str, round, trunc and log2 and for the power operator (**) have been added to chkflt.sd7.
  • The comanche webserver has been improved to continue without exception, when the client closes the socket.
  • The comanche webserver now accepts parameters with drive letters.
  • The program chkccomp.c has been improved to write definitions of HAS_LOG2, HAS_CBRT, HAS_EXP, HAS_EXP2, HAS_EXP10, POW_OF_NAN_OKAY, POW_OF_ZERO_OKAY, POW_OF_ONE_OKAY, POW_EXP_NAN_OKAY and POW_EXP_MINUS_INFINITY_OKAY.
  • The configuration values HAS_LOG2 and HAS_CBRT have been added to cc_conf.s7i.
  • In config.h the configuration macros DO_HEAPSIZE_COMPUTATION, DO_HEAP_STATISTIC, DO_HEAP_CHECK and CHECK_INT_OVERFLOW have been changed to have a value of 0 or 1.
  • Documentation comments have been improved in cc_conf.s7i, float.s7i, fltlib.c, str_rtl.c and ut8_rtl.c.
  • Calls of logFunction and logError have been added to actutl.c, fltlib.c, literal.c, sql_rtl.c, striutl.c and ut8_rtl.c.
  • The macros 'likely' and 'unlikely' have been added to functions in arr_rtl.c, int_rtl.c, ref_data.c, rfl_data.c, set_rtl.c, sql_my.c, sql_rtl.c and strlib.c.
  • The definition of ERROR_INFORMATION in soc_rtl.h has been changed to contain the name of the error variable. Usages of this macro in pol_sel.c, pol_unx.c and soc_rtl.c have been adjusted.
  • The performance of filGets for large files has been improved by 2% (measured with gcc and Valgrind).
  • In various Seed7 libraries (*.s7i) parameter declarations without parameter name (which use the keyword 'param') have been changed to parameter declarations with parameter name. ... read more
Posted by Thomas Mertes 2015-07-05

New Seed7 Release 2015-06-14

A new version of the extensible programming language Seed7, has been released.
See: http://seed7.sourceforge.net

Changelog:

  • The exponentiation operator for float values has been improved to work correct, when the base is negative zero, one or NaN (not a number).
  • The chapter describing float exponentiation in the manual has been improved.
  • The parse operator for integers has been improved to recognize, when there is no digit after the sign.
  • The makefile mk_msvc.mak has been improved to work without calling vcvars32 before.
  • The function isPositiveZero has been added to float.s7i.
  • Checks for the exponentiation with integer and float exponent have been added to chkflt.sd7.
  • Checks for the parse operator have been added to chkbig.sd7 and chkint.sd7.
  • Checks for the operators div, rem, mdiv and mod have been added to chkint.sd7.
  • Documentation comments have been added to float.s7i, cc_conf.s7i, fltlib.c and flt_rtl.c.
  • The configuration values NAN_COMPARISON_OKAY, POW_FUNCTION_OKAY, HAS_EXP2, HAS_EXP10, INT_MIN, INT_MAX and MAX_INTEGER_IN_FLOATTYPE have been added to cc_conf.s7i
  • The function intParse in int_rtl.c has been improved to recognize when there is no digit after the sign.
  • Calls of logFunction and logError have been added to analyze.c, arr_rtl.c, cmd_rtl.c, flt_rtl.c infile.c, numlit.c, numutl.c
  • The function defineTempVariable has been added to comp/expr_util.s7i.
  • The functions process_const_flt_ipow and process_const_flt_pow have been added to comp/flt_act.s7i.
  • The function process_const_int_mdiv in comp/int_act.s7i has been improved.
  • The function bigIntToDouble in numutl.c has been improved to use a right shift instead of a division by two.
  • In numutl.c and numutl.h the prototypes of the functions getDecimalInt, getDecimalBigInt, getDecimalBigRational and getDecimalFloat have been changed to use ustriType instead of void *.
  • The function getDecimalInt in numutl.c has been improved to do the conversion without calling intParse.
  • The macros logFunctionX and logErrorX have been added to common.h. This allows the activation of selected logging functions by adding X.
  • In str_rtl.c macro definitions for strelem_memcmp and search_strelem have been added. The macros are defined, when the functions wmemcmp respectively wmemchr are available and when they work with 32-bit data elements.
  • The macros 'likely' and 'unlikely' have been added to functions in striutl.c.
  • The files sql_util.c and sql_util.h have been renamed to numutl.c respectively numutl.h
  • The program chkccomp.c has been improved to write definitions of CAST_INT_TO_FLOAT_OKAY, HAS_EXP2, HAS_EXP10, NAN_COMPARISON_OKAY, FLOAT_ZERO_TIMES_INFINITE_OKAY, NAN_MULTIPLICATION_OKAY, NAN_DIVISION_OKAY, POWER_UNDERFLOW_WITH_SIGN, POWER_OF_ZERO_OKAY, POWER_OF_ONE_OKAY, POWER_OF_NAN_OKAY, PRINTS_NEGATIVE_ZERO, MAX_INTEGER_IN_FLOAT, MAX_INTEGER_IN_DOUBLE, HAS_WMEMCMP, HAS_WMEMCHR and HAS_WMEMSET.
  • Definitions of C_COMPILER_SCRIPT and GET_CC_VERSION_INFO_OPTIONS have been added to mk_msvc.mak. This definitions are used by the program setpaths.c to write definitions of the macros C_COMPILER and GET_CC_VERSION_INFO to version.h... read more
Posted by Thomas Mertes 2015-06-14

New Seed7 Release 2015-06-01

A new version of the extensible programming language Seed7, has been released.
See: http://seed7.sourceforge.net

Changelog:

  • Interpreter and compiler have been improved to work correctly, when the function body (the part between 'begin' and 'end') consists of one symbol (e.g.: begin test end; ).
  • The parse operator for float values has been improved to work like the corresponding function that reads literals in a Seed7 program.
  • The parse operator for float values has been changed to forbid hex literals (that the underlying C function might allow).
  • In cli_cmds.s7i the copy and move commands have been fixed to work correctly, when the target file is specified.
  • Checks for division by zero (with div, mdiv, mod and rem) have been added to chkbig.sd7 and chkint.sd7.
  • Checks for log2 and log10 with negative argument have been added to chkbig.sd7 and chkint.sd7.
  • Checks if RANGE_ERROR is raised by the operators parse, digits, and sci have been added to chkflt.sd7
  • Checks for the sci operator have been added to chkflt.sd7.
  • Checks for factorial with negative numbers have been added to chkint.sd7.
  • Checks if RANGE_ERROR is raised by the parse operator have been added to chkint.sd7
  • In chkbig.sd7 the functions chkGrow, chkShrink and chkMultCopy have been renamed to chkAddAssign, chkSubtractAssign and chkMultAssign respectively.
  • The function defineTempVariable has been added to lib/comp/expr_util.s7i and used in several compiler files.
  • Changes to avoid signed unsigned mismatches in comparisons have been done in actIConv (act_comp.c), act_iconv (actlib.c) and bigParseBased2To36 (big_rtl.c)
  • Explicit casts to void (document that a function result is ignored) have been added to chrCLitToBuffer (chr_rtl.c) and bigLog10 (big_rtl.c).
  • The functions getEnvironment and freeEnvironment have been added to cmd_win.c.
  • The file con_emc.c has been added. This file contains a (dummy) driver for emcc (JavaScript) console access.
  • The file stat_win.c has been added. This file defines the functions wstati64() and fstati64().
  • The program chkccomp.c has been improved to write definitions of os_isnan, os_isinf, DOUBLE_MIN_EXP10, MIN_PRINTED_EXPONENT_DIGITS, MAX_PRINTED_EXPONENT_DIGITS, STRTOD_ACCEPTS_HEX_NUMBERS, ATOF_ACCEPTS_HEX_NUMBERS, STRTOD_ACCEPTS_DENORMAL_NUMBERS, ATOF_ACCEPTS_DENORMAL_NUMBERS, HAS_SYMBOLIC_LINKS and HAS_READLINK.
  • The config value ISNAN_WITH_UNDERLINE has been removed. Instead the macro os_isnan has been defined.
  • The macro HAS_SYMLINKS has been renamed to HAS_SYMBOLIC_LINKS.
  • In match.c the function match_symbol() has been added and used in match_object().
  • The function dllSym has been renamed to dllFunc. The function dllFunc returns a function pointer instead of a void pointer. This silences warnings issued by some C compilers. The sql_*.c drivers have been changed to use dllFunc.
  • Calls of logError have been added or improved in act_comp.c, arr_rtl.c, big_gmp.c, big_rtl.c, bst_rtl.c, cmd_rtl.c, cmd_win.c, dir_rtl.c, fil_rtl.c, fil_unx.c, fil_win.c, flt_rtl.c, hsh_rtl.c, intlib.c, pcs_unx.c, set_rtl.c and stat_win.c.
  • Calls of logFunction have been added or improved in arr_rtl.c, big_rtl.c, chr_rtl.c, cmd_rtl.c, dir_rtl.c, fil_rtl.c, fil_unx.c, fil_win.c, flt_rtl.c, gkb_win.c, int_rtl.c, s7.c, set_rtl.c, stat_win.c, tim_rtl.c... read more
Posted by Thomas Mertes 2015-06-01

New Seed7 Release 2015-05-17

A new version of the extensible programming language Seed7, has been released.
See: http://seed7.sourceforge.net

Changelog:

  • Error messages in cli_cmds.s7i have been improved.
  • The function getHttp with a httpLocation parameter has been added to gethttp.s7i.
  • The structure httpRequest in httpserv.s7i has been improved to contain a field for the header.
  • Documentation comments have been added to the functions getAttrValue, getAttributes, getSubNodes and getContent in xmldom.s7i.
  • The function readXml with a string parameter has been added to xmldom.s7i.
  • The comanche webserver has been improved to respond with 405 (Method Not Allowed), when the request method is unknown.
  • The check for phaser energy in startrek.sd7 has been improved.
  • The function fltSci in flt_rtl.c has been improved to check for PRINTF_FMT_E_MAXIMUM_FLOAT_PRECISION.
  • Declarations of sqlite3_db_handle() and sqlite3_errmsg() have been added to db_lite.h and sql_lite.c.
  • The functions assertCompAndLnk and assertCompAndLnkWithOptions have been added to chkccomp.c.
  • The function numericProperties in chkccomp.c has been improved to determine more values from test programs.
  • The makefiles have been changed to define the linker options for libraries before chkccomp is executed.
  • The macro safe_fileno has been added to os_decls.h. This macro is used in logging functions to avoid a segmentation violation, when a FILE is NULL.
  • Calls of logFunction and logError have been added to big_gmp.c, big_rtl.c, drw_rtl.c, drw_win.c, drw_x11.c, fil_rtl.c, flt_rtl.c, gkb_win.c, gkb_x11.c, int_rtl.c, prg_comp.c, str_rtl.c and ut8_rtl.c.... read more
Posted by Thomas Mertes 2015-05-17

New Seed7 Release 2015-05-03

A new version of the extensible programming language Seed7, has been released.
See: http://seed7.sourceforge.net

Changelog:

  • The example program cat.sd7 has been added. The program concatenates and prints files. Thanks go to Brian Callahan for providing it.
  • The makefile mk_emccw.mak has been added. This makefile supports compiling with the emcc C compiler from Emscripten. The support of Emscripten is experimental (see also src/read_me.txt).
  • Documentation comments have been improved in osfiles.s7i, utf8.s7i, cmd_rtl.c and ut8_rtl.c.
  • Various changes have been done in chkccomp.c. Many configuration settings are now always defined and have a value of 0 or 1. The corresponding #ifdef directives in the C source files have been changed to #if directives.
  • The library comp/int_act.s7i has been changed to use only ccConf.CHECK_INT_REM_BY_ZERO for the operators 'rem' and 'mod'.
  • In cmd_rtl.c the function cmdFileType has been changed to return FILE_SYMLINK, when the chain of symbolic links is too long.
  • In fil_rtl.c the functions seekFileLength(), offsetTell() and offsetSeek() have been improved to fail for terminal devices such as stdin. Under OpenBSD fseek() and ftell() succeeded in this case.
  • In drw_x11.c the functions drwPut() and drwSetTransparentColor() have been changed to consider a pixmap with a window of 0 as empty.
  • Calls of logFunction and logError have been added to fil_rtl.c, soc_rtl.c, str_rtl.c, tim_unx.c and ut8_rtl.c.... read more
Posted by Thomas Mertes 2015-05-03

New Seed7 Release 2015-04-19

A new version of the extensible programming language Seed7, has been released.
See: http://seed7.sourceforge.net

Changelog:

  • The library httpserv.s7i, which supports HTTP server HTTP requests, has been added.
  • The comanche webserver has been changed to use the library httpserv.s7i.
  • The example program which.sd7 has been added. This program locates in which directory a command is found.
  • In shell.s7i the modes used for popen and popen8 have been changed. Now a pipe can be opened with the binary modes "r" (read) and "w" (write), or with the text modes "rt" (read) and "wt" (write).
  • Variants of the functions popen and popen8, which use an array of parameters, have been added to shell.s7i.
  • In tls.s7i the function gets has been changed to return as soon as data is available. This behavior corresponds to the gets function in socket.s7i.
  • Checks for the radix operator have been added to chkbig.sd7 and chkint.sd7.
  • Interpreter and compiler have been improved such that the files STD_IN, STD_OUT and STD_ERR are in binary mode.
  • The function doRemove in chkccomp.c has been improved to check for the presence of the file before it is removed.
  • The function checkPopen has been been added to chkccomp.c.
  • The function cmdShellEscape in cmd_rtl.c has been improved. Now all characters except '\0;', '\n' and '\r' can be escaped ('\r' can be escaped under Linux/Unix/BSD).
  • Now there are two versions of cmdShellEscape and the define variable ESCAPE_SHELL_COMMANDS decides which one is used.
  • The function filPopen has been changed, to open a pipe in binary or text mode.
  • In fil_rtl.c the function read_and_alloc_stri has been changed to read the data into a list of buffers. Afterwards the string is allocated, the data is copied and the buffer list is freed. This improves the perfomance, when the file is a pipe.
  • In fil_rtl.c the function doGetsFromTerminal has been changed to check for a negative length.
  • In soc_rtl.c the function read_and_alloc_stri has been added. This function reads the data into a list of buffers. Afterwards the string is allocated, the data is copied and the buffer list is freed.
  • In soc_rtl.c the function socGets has been improved to use read_and_alloc_stri, when the requested length is larger than 1 MB.
  • In soc_rtl.c the function socWrite has been improved to call send() again, when not all data has been written.
  • In prclib.c the functions prc_block_catch_all and prc_block_otherwise have been improved to free the fail_stack. This way the call stack that is written, when an exception terminates the program, is always correct.
  • The function escape_command in striutl.c has been improved.
  • Verbose exceptions have been added to big_rtl.c, fil_rtl.c, pol_sel.c, pol_unx.c and soc_rtl.c.
  • The logging of C functions in big_rtl.c, cmd_rtl.c, fil_rtl.c, hsh_rtl.c, int_rtl.c, pcs_rtl.c, pcs_unx.c, pcs_win.c, prg_comp.c, soc_rtl.c, str_rtl.c, tim_dos.c, tim_rtl.c, tim_unx.c and tim_win.c has been changed to use the macro logFunction.
  • The definition of the macro logError has been removed from various C files. The new definition of logError is in common.h.
  • Trace output has been added to fil_rtl.c.
  • Documentation comments have been improved in process.s7i shell.s7i, socket.s7i, big_rtl.c, fillib.c... read more
Posted by Thomas Mertes 2015-04-19

New Seed7 Release 2015-04-05

A new version of the extensible programming language Seed7, has been released.
See: http://seed7.sourceforge.net

Changelog:

  • A cache for client sessions has been added to tls.s7i. This allows that a TLS connection can be resumed (without a new negotiation of the security parameters).
  • The comanche webserver has been improved to keep connections open for 15 seconds.
  • The functions compare and hashCode for the type socketAddress have been added to sockbase.s7i.
  • A new variant of openServerTls, with a certAndKey parameter, has been added to tls.s7i.
  • The functions validityType, createX509Cert, certAndKey and selfSignedX509Cert have been added to x509cert.s7i.
  • The constant stdRsaKeyPair has been added to pkcs1.s7i.
  • The functions localAddress, peerAddress and ord have been added to socket.s7i.
  • In duration.s7i the functions YEARS, MONTHS, DAYS, HOURS, MINUTES, SECONDS and MICRO_SECONDS have been improved to normalize the duration value.
  • The functions sendGet (gethttp.s7i) and sendHttpResponse (comanche.sd7) have been change to send the request/response with one write statement.
  • The library tls.s7i has been improved to accept client-hello and server-hello messages with extensions.
  • The functions openTlsSocket and openServerTls (in tls.s7i) have been improved to avoid exceptions, when an alert message is received or a socket is closed.
  • In tls.s7i the function write has been changed to send long strings with several messages.
  • Tests for the operators parse and radix and for the function bigInteger have been added to chkbig.sd7.
  • The functions openHttpSession, closeHttpSession, processHttpRequest and cleanSessions have been added to comanche.sd7.
  • Trace output and verbose exceptions have been added to various functions in big_rtl.c, soc_rtl.c, int_rtl.c and str_rtl.c.
  • The functions striAsUnquotedCStri and bstriAsUnquotedCStri have been added to striutl.c.
  • In traceutl.c the functions prot_stri_unquoted and prot_bstri have been changed to use striAsUnquotedCStri and bstriAsUnquotedCStri respectively.
  • Interpreter and compiler have been improved to support the actions SOC_GET_LOCAL_ADDR, SOC_GET_PEER_ADDR and SOC_ORD (SOC_GET_ADDR has been renamed to SOC_GET_LOCAL_ADDR).... read more
Posted by Thomas Mertes 2015-04-05

New Seed7 Release 2015-03-22

A new version of the extensible programming language Seed7, has been released.
See: http://seed7.sourceforge.net

Changelog:

  • The program chkchr.sd7 has been added. This program checks the correctness of the functions isLetter and width. Thanks go to Arkady Kuleshov for providing chkchr.sd7.
  • Interpreter and compiler have been improved to allow Unicode names. This functionality is inspired by patches from Arkady Kuleshov. Unicode names are switch off by default. They must be activated with the pragma: $ names unicode;
  • The library smtp.s7i, with support for SMTP (simple mail transfer protocol), has been added.
  • Interpreter and compiler have been changed to write an error message, when a deprecated string escape sequence (e.g.: "\7\") is used instead of a new escape sequence (e.g.: "\7;").
  • The function getHttpLocation in gethttp.s7i has been improved to handle IPv6 addresses correctly.
  • In cli_cmds.s7i error messages have been added to doCopyCmd and doMoveCmd.
  • Documentation comments have been added or improved in console.s7i, ftp.s7i and cli_cmds.s7i.
  • Checks for the function bigInteger have been added to chkbig.sd7.
  • Checks for the integer for-loop have been added to chkprc.sd7.
  • In big_rtl.c the functions bigParseBasedPow2 and bigParseBased2To36 have been improved to raise RANGE_ERROR when a digit is too big.
  • The program chkccomp.c has been changed to use test programs for various settings. This has been done to allow that chkccomp.c can be compiled with any compiler (not just the one that is to be tested).
  • The function write_position_info has been added to runerr.c.
  • In runerr.c the function write_call_stack has been improved to catch the signal SIGSEGV.
  • The function scan_symbol_utf8 has been added to scanner.c.
  • The functions prot_cstri8 and prot_string have been added to traceutl.c.
  • The function escape_sequence in literal.c has been changed to write an error when a deprecated string escape sequence is used.
  • The function utf8_char in literal.c has been changed to save the UTF-8 sequence.
  • The function basedValue in numlit.c has been changed to write the error ILLEGALBASEDDIGIT with the correct digit.
  • In prclib.c the functions prc_for_downto, prc_for_downto_step, prc_for_to and prc_for_to_step have been changed such that the loop variable has a defined value after the loop. After the for-loop the loop variable must be beyond the upper bound (or below the lower bound for for-downto-loops).
  • In doany.c the functions do_flush, do_wrnl and do_wrstri have been changed to allow that outfile is from a different program.... read more
Posted by Thomas Mertes 2015-03-22

New Seed7 Release 2015-03-08

A new version of the extensible programming language Seed7, has been released.
See: http://seed7.sourceforge.net

Changelog:

  • The compile time error messages have been improved. Now Unicode characters in the error line are displayed correctly. Before they have been displayed as question marks (?). When the error line is written to a console the encoding of the operating system is used. When stdout has been redirected to a file the error line is encoded with UTF-8. Thanks go to Arkady Kuleshov for triggering this improvement. The patch proposed by Arkady is based on stdout and UTF-8. The actual implementation uses a different approach via the console driver con_drv.h. The console driver uses UTF-16 under windows (unless stdout has been redirected) and UTF-8 under Linux/Unix/BSD.
  • The function getBinary has been added to bin64.s7i. This function returns 64 bits from a bitset starting with a given bit number.
  • The compiler has been changed to use the function getBinary to generate bitset literals.
  • Interpreter and compiler have been improved to support the actions BIN_GET_BINARY_FROM_SET, PRC_FOR_DOWNTO_STEP and PRC_FOR_TO_STEP.
  • The compiler function AppendWithDiagnostic has been renamed to appendWithDiagnostic.
  • The function appendWithDiagnostic in comp/debug.s7i has been improved to add #line directives only when they are missing.
  • The function defineTempConstant has been added to expr_util.s7i.
  • The functions process_const_bin_radix and process_bin_radix in comp/bin_act.s7i have been improved to use uintRadix() and uintRadixPow2() for the actions BIN_radix and BIN_RADIX.
  • The generation of for-loops in comp/prc_act.s7i has been improved.
  • A definition of an integer for-loop with step has been added to forloop.s7i. Before integer for-loops with step were defined with the template FOR_STEP_DECLS.
  • The functions prc_block, prc_block_catch_all, prc_block_otherwise, prc_repeat and prc_while in prclib.c have been improved to check for fail_flag with the macro unlikely().
  • The functions check_for_int_to and check_for_int_downto in chkprc.sd7 have been improved.
  • The program err.sd7 has been improved.
  • The program chkccomp.c has been changed to write the version information to stdout when no file name has been provided as argument.
  • A definition of the macro chrStrMacro has been added to chr_rtl.h.
  • The function utf8_char in literal.c has been changed to call next_character() before reporting the errors CHAR_ILLEGAL, OVERLONG_UTF8_ENCODING, UTF16_SURROGATE_CHAR_FOUND and CHAR_NOT_UNICODE.
  • The functions read_ustri8_line, ustri8_buffer_to_stri, calculate_output_length, print_stri and read_and_print_line have been added to error.c... read more
Posted by Thomas Mertes 2015-03-08

New Seed7 Release 2015-02-16

A new version of the extensible programming language Seed7, has been released.
See: http://seed7.sourceforge.net

Changelog:

  • The functions isLetter and width have been added to the library char.s7i. Compiler and interpreter have been changed to support this functions. Thanks go to Arkady Kuleshov for providing a patch.
  • The library unionfnd.s7i and the program percolation.sd7 have been added. Thanks go to Arkady Kuleshov for providing them.
  • The makefile mk_icc.mak has been added. This makefile supports compiling with the icc C compiler.
  • The library bin64.s7i, a 64-bit binary value support library, has been added.
  • The functions fourBytesLeToBin32, fourBytesBeToBin32, bin32AsFourBytesLe and bin32AsFourBytesBe have been added to bin32.s7i.
  • The functions bigAsEightBytesLe and bigAsEightBytesBe have been added to bytedata.s7i
  • Interpreter and compiler have been improved to support the actions BIN_STR, BIN_radix, BIN_RADIX, BIN_AND, BIN_OR, BIN_XOR, BIN_LSHIFT, BIN_RSHIFT, BIN_LSHIFT_ASSIGN, BIN_RSHIFT_ASSIGN, BIN_AND_ASSIGN, BIN_OR_ASSIGN, BIN_XOR_ASSIGN, CHR_IS_LETTER and CHR_WIDTH.
  • The support for the actions INT_AND, INT_AND_ASSIGN, INT_OR, INT_OR_ASSIGN, INT_ULSHIFT, INT_ULSHIFT_ASSIGN, INT_URSHIFT, INT_URSHIFT_ASSIGN, INT_XOR and INT_XOR_ASSIGN has been removed from interpreter and compiler.
  • The compiler library comp/bin_act.s7i has been added.
  • The functions isConstantCall and isPureFunction in comp/const.s7i have been improved.
  • The functions uintRadix, uintRadixPow2 and uintStr have been added to int_rtl.c.
  • The function bld_binary_temp has been added to objutl.c.... read more
Posted by Thomas Mertes 2015-02-16

New Seed7 Release 2015-02-01

A new version of the extensible programming language Seed7, has been released.
See: http://seed7.sourceforge.net

Changelog:

  • The option -p of the interpreter (Specify a protocol file, for trace output) has been documented in FAQ, s7.1 and in the help function of the interpreter.
  • The behavior of a Seed7 program, when it receives a signal, has changed. Now a program is terminated, when it receives a signal. The old behavior, that asks for RETURN or '*', is used when interpreter or compiler are called with the option -ts.
  • The option -ts of interpreter and compiler (Trace signals) has been documented in FAQ, s7.1, s7c.1 and in the help functions of the programs.
  • Documentation comments in integer.s7i, bigint.s7i and char.s7i have been improved.
  • The function bitsetElemAsHex (in comp/set_act.s7i) has been improved by a factor of 7 (measured with gcc and Valgrind).
  • The operator sci has been improved in integer.s7i and bigint.s7i.
  • The function check_sci, which checks the sci operator has been added to chkint.sd7.
  • The function check_str, which checks the str function has been added to chkset.sd7.
  • The function doRemoveCmd in cli_cmds.s7i has been improved to write a message when the operation is not permitted.
  • The compiler has been improved to generate better code for the action STR_MULT.
  • The function check_string_mult, which checks string multiplications, has been added to chkstr.sd7.
  • The function bitsetNonZero has been added to set_rtl.c. This function uses loop unrolling inspired by Duff's device.
  • The function setNext (in set_rtl.c) has been changed to call bitsetNonZero. This improves the speed of setNext by a factor of 2 (measured with gcc and Valgrind).
  • The function strMult in str_rtl.c has been improved to use a binary method for string multiplication. This improves the speed of setMult by a factor of 2 (measured with gcc and Valgrind).
  • The function drwEmpty has been added to drw_x11.c drw_win.c and drw_dos.c.... read more
Posted by Thomas Mertes 2015-02-01

New Seed7 Release 2015-01-18

A new version of the extensible programming language Seed7, has been released.
See: http://seed7.sourceforge.net

Changelog:

  • The performance of the function bytes2Int in bytedata.s7i has been improved by 10% (measured with gcc and valgrind). An intermediate function has been removed and a boolean parameter has been omitted from the underlying C function .
  • The function check_string_concat, which contains checks for string concatenation, has been added to chkstr.sd7.
  • Improvements have been done in gethttp.s7i and tls.s7i to avoid blocking and exceptions, when a socket is closed or unexpected data is read.
  • Several optimizations in the compiler (s7c) have been done:
    • The function optimize_str_cat has been added to comp/str_act.s7i. This function optimizes sequences of string concatenations.
    • The flag prefer_result_expr has been added to the struct expr_type in comp/expr.s7i. With this flag it can be requested that a parameter is preferred as result_expr (the value is allocated at the heap).
    • The function process_int_str has been added to int_act.s7i. This function is used for INT_STR and for the radix operator when the base is 10.
  • The program chk_all.sd7 has been changed to ignore the exception FILE_ERROR, when it is raised by some calls of removeFile.
  • In int_rtl.c the functions intBytesBe2Int and intBytesLe2Int have been changed to convert only signed values (in twos-complement representation). The parameter isSigned has been removed.
  • The functions intBytesBe2UInt and intBytesLe2UInt have been added to int_rtl.c. This functions convert unsigned values.
  • The function write_place in error.c has been fixed to write the correct file name and line. This error has been introduced in version 2014-09-07, when the function write_place has been added.
  • A definition and calls of the macro logError have been added to fil_rtl.c and soc_rtl.c.
  • A version of the function alloc has been added to progs.s7i. This version allocates a string object.
  • The functions prot_params and prot_name in traceutl.c have been improved to write syntax with keywords at the beginning and at the end correctly.
  • In ref_data.c the functions refAlloc, refArrMaxIdx, refArrMinIdx, refArrToList, refBody, refCategory, refFile, refHshDataToList, refHshKeysToList, refIsVar, refItfToSct, refLine, refLocalConsts, refLocalVars, refNum, refParams, refResini, refResult, refSctToList, refStr, refType, actValue, bigValue, blnValue, bstValue, chrValue, drwValue, filValue, fltValue, intValue, pcsValue, polValue, prgValue, refValue, rflValue, setValue, strValue and typValue have been changed to use const parameters.
  • The actions INT_BYTES_BE and INT_BYTES_LE have been replaced by INT_BYTES_BE_SIGNED, INT_BYTES_BE_UNSIGNED, INT_BYTES_LE_SIGNED and INT_BYTES_LE_UNSIGNED.
  • The actions INT_BYTES_BE_2_UINT, INT_BYTES_LE_2_UINT and REF_ALLOC_STRI have been added.... read more
Posted by Thomas Mertes 2015-01-18

New Seed7 Release 2015-01-04

A new version of the extensible programming language Seed7, has been released.
See: http://seed7.sourceforge.net

Changelog:

  • In sql_post.c the function swap64 has been renamed to swapUInt64. Thanks go to Brian Callahan for reporting that OpenBSD already has a function called swap64().
  • The library aes.s7i with AES (Advanced Encryption Standard) cipher support has been added.
  • The library tls.s7i has been improved to allow encoding with AES.
  • The functions fileType and fileTypeSL have been added to ftp.s7i.
  • The handling of the command ls -l in the program ftp7.sd7 has been
    improved to write the file type.
  • The compilation of the action ARR_IDX in the compiler (file arr_act.s7i) has been improved.
  • In des.s7i and tdes.s7i all occurances of subkey have been renamed to subKey.
  • In sql_lite.c, sql_my.c, sql_oci.c, sql_odbc.c and sql_post.c the function setupFuncTable has been changed to use count.sql_func (defined in heaputl.h).... read more
Posted by Thomas Mertes 2015-01-04

New Seed7 Release 2014-12-23

A new version of the extensible programming language Seed7, has been released.
See: http://seed7.sourceforge.net

Changelog:

  • The chapter about primitive actions in the manual has been improved.
  • The compiler optimization of bigInteger divisions and multiplications by -1 has been improved.
  • Tests of bigInteger divisions and multiplications have been added to chkbig.sd7.
  • The functions fltDgts and fltSci have been improved to allow a precision greater than 1000.
  • Tests of the operators digits and sci with large precision values have been added to chkflt.sd7.
  • In drw_x11.c the functions drwHeight and drwWidth have been improved to avoid a call of XGetGeometry, when the window is a pixmap. This significantly improves the writing with Seed7 fonts under Mac OS X.
  • The compiler has been improved to limit the length of float literals to 100 characters. The length of a float literal accepted by the cl C compiler from msvc is limited.
  • The function doubleToCharBuffer in flt_rtl.c has been improved to work correctly for numbers with big and small exponents.
  • Tests of float to string conversions have been added to chkflt.sd7. The tested float values have exponents from the allowed range.
  • The function bigAddAssignSignedDigit (former bigGrowSignedDigit) in big_rtl.c has been changed to mask the delta value with BIGDIGIT_MASK.
  • The functions numericSizes and deteminePostgresDefines in chkccomp.c have been improved. Now the macros INT32_SUFFIX, UINT32_SUFFIX, INT32TYPE_LITERAL_SUFFIX, INT32TYPE_FORMAT, INT64_SUFFIX, UINT64_SUFFIX, INT64TYPE_LITERAL_SUFFIX and INT64TYPE_FORMAT are written by chkccomp.c instead of being defined in common.h.
  • The function findPgTypeInclude has been added to chkccomp.c.
  • The check for the function __builtin_expect in chkccomp.c has been improved.
  • The actions BIG_GROW, BIG_SHRINK, FLT_GROW, FLT_SHRINK, INT_GROW and INT_SHRINK have been renamed to BIG_ADD_ASSIGN, BIG_SBTR_ASSIGN, FLT_ADD_ASSIGN, FLT_SBTR_ASSIGN, INT_ADD_ASSIGN and INT_SBTR_ASSIGN respectively.
  • In big_rtl.c and big_gmp.c the functions bigGrowSignedDigit, bigGrow and bigShrink have been renamed to bigAddAssignSignedDigit, bigAddAssign and bigSbtrAssign respectively.
  • A check for DEFAULT_DECIMAL_PRECISION in sql_odbc.c has been corrected.... read more
Posted by Thomas Mertes 2014-12-23

New Seed7 Release 2014-12-10

A new version of the extensible programming language Seed7, has been released.
See: http://seed7.sourceforge.net

Changelog:

  • The database drivers sql_lite.c, sql_my.c, sql_oci.c, sql_odbc.c and sql_post.c have been improved to select a shared library / DLL from a list of candidates.
  • The program chkccomp.c has been improved to configure database drivers with a list of shared libraries / DLLs.
  • The makefiles mk_bcc32.mak, mk_bccv5.mak, mk_msvc.mak, mk_msys.mak, mk_mingc.mak, mk_mingw.mak and mk_nmake.mak have been improved to write definitions of the C macros MYSQL_DLL, SQLITE_DLL and POSTGRESQL_DLL to the file chkccomp.h.
  • The chapters about integer, rational and exceptions in the manual have been improved.
  • In bigint.s7i the performance of the binomial coefficient operator (infix operator symbol: ! ) has been improved by 17% (measured with gcc and valgrind).
  • The optimization of constant expessions in the compiler has been improved.
  • The program esc2qte.c has been added. This program searches for backslash escaped spaces and quotes the string instead. It is used by mk_nmake.mak to process the file depend.
  • Documentation comments in integer.s7i have been improved.
  • The recognition of integer formats in chkccomp.c has been improved (the test programs now include <string.h>).
  • The makefiles mk_msys.mak and mk_nmake.mak have been improved to use wrdepend.exe to determine the dependencies.
  • The program wrdepend.c has been changed to include config.h (this way the macro MAP_ABSOLUTE_PATH_TO_DRIVE_LETTERS is available).
  • A cast has been added to sudo.c.... read more
Posted by Thomas Mertes 2014-12-10

New Seed7 Release 2014-12-07

A new version of the extensible programming language Seed7, has been released.
See: http://seed7.sourceforge.net

Changelog:

  • The paragraph in src/read_me.txt, that desribes the compilation under Mac OS X, has been improved.
  • The function bigIPow1 in big_rtl.c has been changed to call bigLog2BaseIPow instead of bigLShiftOne when the base is a power of two. This avoids an integer overflow when the shift count is computed.
  • The function fltIPow in flt_rtl.c has been changed to avoid a division by zero when CHECK_FLOAT_DIV_BY_ZERO has been defined.
  • The function fltIPow in flt_rtl.c has been improved to return -Infinity for (-0.0) ** n when n is negative.
  • The function uint_rand (in int_rtl.c) has been renamed to uintRand and changed to ommit the initialisation of the random seed.
  • The function setupRand has been added to int_rtl.c. This function initializes the random seed of uintRand.
  • The function uintRandLimited has been added to int_rtl.c.
  • The runtime of the integer random number generator has been reduced to 45%.
  • The compiler has been improved to generate optimized code for special cases of the action INT_RAND. For special cases the functions uintRand and uintRandLimited are used instead of intRand.
  • The compiler has been improved to optimize the binomial coefficient operator (infix operator symbol: ! ).
  • Tests for the binomial coefficient (infix operator symbol: ! ) have been added to chkint.sd7 and chkovf.st7
  • Tests for the integer random number generator have been added to chkint.sd7.
  • Tests for powers of negative zero have been added to chkflt.s7i.
  • The database interface headers db_lite.h, db_my.h, db_oci.h, db_odbc.h and db_post.h have been added. This include files are used when the original database include files are not available.
  • The functions decimalValue and basedValue in numlit.c have been improved to use an unsigned integer value and a simplified test for the maximum value of a literal. The change reduces the runtime of decimalValue by 6% (measured with gcc and valgrind).
  • The function intBinom (in int_rtl.c) has been improved to work correctly as long as the result is representable in an integer of type intType. When the result is not representable in an integer the exception OVERFLOW_ERROR is raised.
  • The function uintBinomNoChk has been added to int_rtl.c. This special case function is used by the compiler, when n_number is less than a limit.
  • The function intSafeMult has been renamed to intMultOvfChk.
  • The makefile mk_osxcl.mak has been added. This makefile supports compilation under Mac OS X with the clang compiler.
  • The file sql_ite.c has been renamed to sql_lite.c.
  • The makefiles have been improved to write additional macros to chkccomp.h. This macros are used by chkccomp.c to do the database investigation.
  • The database drivers sql_lite.c, sql_my.c, sql_oci.c, sql_odbc.c and sql_post.c have been improved.
  • The configuration program chkccomp.c has been improved:
    • Now it writes definitions of INT8TYPE and INT16TYPE to version.h.
    • Now it adds /opt/X11/include to the include path, when /usr/include/X11 does not exist. This is required for Mac OS X.
    • The functions that write define macros for databases have been improved to take the new database interface headers (db_*.h) into account.... read more
Posted by Thomas Mertes 2014-12-07

New Seed7 Release 2014-11-16

A new version of the extensible programming language Seed7, has been released.
See: http://seed7.sourceforge.net

Changelog:

  • The type process has been added to the library process.s7i. The type process is used to manage child processes.
  • The functions compare, hashCode, str, exitValue isAlive, startProcess, kill and waitFor have been added to process.s7i.
  • Support for the actions CMD_PIPE2, CMD_PTY and CMD_START_PROCESS has been removed from interpreter and compiler.
  • Support for the actions PCS_CMP, PCS_CPY, PCS_EQ, PCS_EXIT_VALUE, PCS_HASHCODE, PCS_IS_ALIVE, PCS_KILL, PCS_NE, PCS_PIPE, PCS_PTY, PCS_START, PCS_STR, PCS_VALUE and PCS_WAIT_FOR has been added to interpreter and compiler.
  • The files pcs_rtl.c, pcs_rtl.h, pcs_unx.c, pcs_win.c, pcs_drv.h, pcslib.c, pcslib.h and pcs_act.s7i have been added.
  • The functions freeArgVector, genArgVector have been moved from cmd_unx.c to pcs_unx.c.
  • The function prepareCommandLine has been moved from cmd_win.c to pcs_win.c.
  • The makefiles have been improved to consider the files necessary for process support.... read more
Posted by Thomas Mertes 2014-11-16

New Seed7 Release 2014-11-02

A new version of the extensible programming language Seed7, has been released.
See: http://seed7.sourceforge.net

Changelog:

  • The files to generate man pages for Seed7 interpreter and compiler (files doc/s7.1 and doc/s7c.1) have been improved.
  • Functions have been moved from make.s7i and makedata.s7i to the new library cli_cmds.s7i (Emulate CLI commands from UNIX and DOS).
  • Support for the commands mkdir and md has been added to cli_cmds.s7i.
  • The library makedata.s7i has been improved to support the functions dir, notdir, suffix, basename, addprefix, addsuffix, filter, filter-out, foreach, call, sort and shell.
  • The libraries makedata.s7i and make.s7i have been improved to support pattern rules with equal patterns.
  • The configuration program chkccomp.c has been improved to set the POSTGRESQL_POSTGRES_H and POSTGRESQL_PG_TYPE_H in more situations.
  • The function exec_call in exec.c has been improved to raise the exception ILLEGAL_ACTION, when it is called for a FORWARDOBJECT.
  • The compiler has been improved to issue an error, when a forward defined function is called.
  • The function prg_eval in prglib.c has been improved to call raise_with_arguments instead of raise_exception.
  • The function nameOfBufferType in sql_post.c has been improved to use PGNODETREEOID, INT2ARRAYOID, OIDARRAYOID and FDW_HANDLEROID only when they have been defined.... read more
Posted by Thomas Mertes 2014-11-16

New Seed7 Release 2014-10-19

A new version of the extensible programming language Seed7, has been released.
See: http://seed7.sourceforge.net

Changelog:

  • The compiler s7c has been improved to process the semicolon operator with reduced stack usage. Thanks go to Pietro Cerutti for pointing out problems with the available stack size under FreeBSD.
  • In drw_x11.c the function redraw has been improved to ignore expose events when backing store is active. Thanks go to Brian Callahan for reporting problems with activated backing store under OpenBSD.
  • The library makedata.s7i has been improved. Now conditional makefile parts with ifdef and ifndef are allowed. Now it is possible to use the ?= operator to assign a value to a variable. Now the value of a variable is taken from the environment, when it has not been defined in the makefile.
  • The function setupStack has been moved from cmd_rtl.c to heaputl.c.
  • The self extracting Seed7 installer for windows has been improved to allow downloading the latest Seed7 release.
  • Tabs in various files have been replaced with spaces.... read more
Posted by Thomas Mertes 2014-10-19

New Seed7 Release 2014-10-05

A new version of the extensible programming language Seed7, has been released.
See: http://seed7.sourceforge.net

Changelog:

  • The example program sql7.sd7 has been improved to write help information, when it is called with the option -? .
  • The configuration program chkccomp.c has been improved to accept the #define macros MYSQL_INCLUDE_OPTIONS, SQLITE_INCLUDE_OPTIONS, POSTGRESQL_INCLUDE_OPTIONS, ODBC_INCLUDE_OPTIONS, OCI_INCLUDE_OPTIONS, MYSQL_LIBRARY_PATH, SQLITE_LIBRARY_PATH, POSTGRESQL_LIBRARY_PATH, ODBC_LIBRARY_PATH and OCI_LIBRARY_PATH.
  • The makefile mk_freebsd.mk has been improved to allow database connections under FreeBSD.
  • The makefils mk_mingw.mak, mk_msvc.mak, mk_bcc32.mak and mk_bccv5.mak have been improved to support the SQLite database.
  • The database driver sql_ite.c has been improved such that it can also work with a DLL that is loaded at runtime.
  • Tracing statements have been added to drw_x11.c.... read more
Posted by Thomas Mertes 2014-10-05

New Seed7 Release 2014-09-21

A new version of the extensible programming language Seed7, has been released.
See: http://seed7.sourceforge.net

Changelog:

  • Access to MySql/MariaDb, SQLLite, PostgreSQL, Oracle and ODBC databases has been added.
  • The library sql_base.s7i has been added. This library provides functions to connect to a database, to prepare statements, to bind variables to prepared statements, to execute prepared statements, to fetch data from the database and to get individual columns from fetched data.
  • A paragraph about the compilation of Seed7 with database connections has been added to the FAQ.
  • The example program sql7.sd7 has been added. This program connects with a database, reads SQL commands and sends them to the database.
  • The example program chkdb.sd7 has been added. This program checks SQL statements with several databases. The database login data in chkdb.sd7 must be adjusted to allow that opening the databases succeeds.
  • The library ftp.s7i and the program ftp7.sd7 have been improved to accept connection strings of the form user:password@hostName .
  • Interpreter and compiler have been improved to support databases.
  • The compiler now adds parentheses arround comma expressions when they are used as index. This changes have been done in the files arr_act.s7i, bst_act.s7i and str_act.s7i.
  • Database drivers consisting of the files dll_drv.h, dll_unx.c, dll_win.c, sql_drv.h, sql_ite.c, sql_my.c, sql_oci.c, sql_odbc.c, sql_post.c, sql_rtl.c, sql_rtl.h, sql_util.c, sql_util.h, sqllib.c and sqllib.h have been added.
  • The program wrdepend.c has been added. This program is used to write C header dependencies to the file depend. It calls the C compiler with -I options. The -I options come from the macro INCLUDE_OPTIONS, which is defined in the file version.h.
  • Database driver files have been added to makefiles.... read more
Posted by Thomas Mertes 2014-09-21

New Seed7 Release 2014-09-07

A new version of the extensible programming language Seed7, has been released.
See: http://seed7.sourceforge.net

Changelog:

  • The function setSearchPath has been added to the library process.s7i.
  • The compiler has been improved to write an error message, when the sets of a case-statement overlap. Until now this situation was only recognized by the C compiler.
  • The interpreter has been improved to raise an exception, when the current value of a case-statement is element of two sets.
  • There have been changes in the libraries makedata.s7i and make.s7i.
  • The macro expansion in makedata.s7i has been changed. Now all macro expansions (except the expansions of internal macros) are done with the function applyMacros.
  • In makedata.s7i the function applyMacros has been improved to process the makefile macro functions wildcard, error and warning.
  • The functions evalFunction and getMacro, that where used to do macro expansion when the makefile is read, have been removed.
  • The code to read the definition of recursively expanded variables has been changed to do no macro expansion. This macros are expanded when they are used.
  • The library make.s7i has been improved to read the parameters for the commands rm, cp, and mv as Unix shell parameters (with the function getUnixCommandParameter).
  • The library make.s7i has been improved to read the parameters for the commands del, copy, xcopy and move as Dos/Windows batch parameters (with the function getDosCommandParameter).
  • Interpreter and compiler have been improved to support the action CMD_SET_SEARCH_PATH.
  • The batch file bin/call_gcc.bat has been changed to work correctly, when it is called from any directory.
  • Writing error messages in error.c has been changed to use prot_... functions instead of printf.... read more
Posted by Thomas Mertes 2014-09-07