Related articles |
---|
Seed7 Release 2019-12-15 (and 2019-11-17) mertesthomas@gmail.com (2019-12-16) |
From: | mertesthomas@gmail.com |
Newsgroups: | comp.compilers |
Date: | Mon, 16 Dec 2019 13:34:27 -0800 (PST) |
Organization: | Compilers Central |
Injection-Info: | gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="86158"; mail-complaints-to="abuse@iecc.com" |
Keywords: | available, OOP |
Posted-Date: | 16 Dec 2019 17:25:05 EST |
Hello,
I have released a new version of Seed7: seed7_05_20191215.tgz
The download is here: https://sourceforge.net/projects/seed7/files
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 database libraries sql_srv.c and sql_cli.c have been improved to
allow the connection to a SQL Server database from Linux. The library
libtdsodbc.so is used to do the actual communication with the
database.
- The build system of Seed7 has been improved. Logic regarding X11,
ncurses and the databases has been moved from the makefiles to
chkccomp.c.
- The build for Linux has been improved to work even if essential
header files (for X11 or ncurses) are missing. This should only be
used, if it is impossible to install the development packages of X11
or ncurses.
- The example program chkdb.sd7 has been improved to do tests for SQL
Server.
- In the FAQ the explanation of "What is necessary to compile Seed7
with database connections", has been improved.
- In chkccomp.c the functions findIncludeFile(), findStaticLib(),
findLinkerOption(), listDynamicLibs() and determineConsoleDefines()
have been added.
- In chkccomp.c the functions determineEnvironDefines(),
determineStatFunctions(), determineX11Includes(),
determineMySqlDefines(), determineSqliteDefines(),
determinePostgresDefines(), determineOdbcDefines(),
determineOciDefines(), determineFireDefines(), determineDb2Defines(),
determineSqlServerDefines(), determineIncludesAndLibs() and main()
have been improved.
- The files fwd_term.c and fwd_term.h have been added. The functions in
fwd_term.c forward calls to a shared terminfo library.
- The files con_inf.c, kbd_inf.c, kbd_poll.c, trm_cap.c and trm_inf.c
have been improved to work with fwd_term.c and fwd_term.h.
- The file fwd_x11.c has been added. The functions in fwd_x11.c forward
X11 calls to a shared X11 library. Fwd_x11.c is used, if it is not
possible to link to a static X11 library.
- The file x11_x.h has been added. This file is used, if no X11 include
file can be found.
- The files drw_x11.c and gkb_x11.c have been improved to work with
x11_x.h and x11_x.h.
- The makefiles have been adjusted to work with the new build system.
- The program warn.c has been added. This program writes a warning, if
header files of X11 or ncurses are missing.
- Documentation has been added to read_me.txt.
- In dll_win.c the function dllOpen() has been improved to assure, that
a path to a DLL uses a backslash as path delimiter. This is required
by the function LoadLibrary().
- The files bin/call_cl.bat and bin/call_lib.bat have been removed.
Changes from Seed7 version 2019-11-17:
- Support for mice with forward and back button has been added to the
Seed7 run-time library. Many thanks go to Zachary Menzies, for
driving my focus towards mice with additional buttons.
- Support for the C compiler from Visual Studio 2019 has been added.
Many thanks go to Alexander Yu. Vlasov for pointing out compilation
problems with Visual Studio 2019 and for investigating the problems.
- Interpreter and compiler have been improved to support DB2 and SQL
Server databases.
- In the manual the chapter about the database abstraction API has been
improved.
- The compiler has been improved to optimize the function replace()
(action STR_REPL). Special functions (strChRepl() and strChChRepl())
are used, if the searched or the replaced string consist of one
character. This works even, if a character is converted to a string
with the function str().
- Testcases for replace() have been added to chkstr.sd7.
- The program bigfiles.sd7 has been improved to search for the biggest
directories additionally to the biggest files.
- The libraries keybd.s7i and keydescr.s7i have been improved to
support KEY_MOUSE_FWD and KEY_MOUSE_BACK.
- The library sql_base.s7i and the programs db7.sd7 and sql7.sd7 have
been improved to support DB_DB2 and DB_SQL_SERVER.
- In striutl.c the function stri_to_standard_path() has been improved,
to do a smarter mapping from a DOS/Windows path to the Seed7 standard
path representation.
- In osfiles.s7i the functions makeParentDirs() and convDosPath() have
been improved. Now convDosPath() and stri_to_standard_path() use the
same algorithm to map from a DOS/Windows path to the Seed7 standard
path representation.
- The function strChChRepl() has been added to str_rtl.c.
- The program chkccomp.c has been improved to define the macros
REMOVE_REATTEMPTS, SETENV_ALLOWS_KEY_WITH_EQUALS_SIGN and
GETENV_ALLOWS_KEY_WITH_EQUALS_SIGN.
- The functions determineDb2Defines() and determineSqlServerDefines()
have been added to chkccomp.c.
- The names of database DLLs (shared libraries) has been moved from
the makefiles to chkccomp.c.
- The database driver sql_odbc.c has been refactored to be based on
sql_cli.c. Most of the contents of sql_odbc.c has been moved to
sql_cli.c and sql_odbc.c now includes sql_cli.c.
- The new database drivers sql_db2.c (for DB2) and sql_srv.c (for SQL
Server) have been added. Like sql_odbc.c this drivers also include
sql_cli.c.
- In cmd_rtl.c the function cmdChdir() has been improved to use an
extended length path only, if it is absolutely necessary. In Windows
an extended length path starts with \\?\ and can have a length
greater equal 260. Many subprocesses cannot handle a current working
directory with an extended length path.
- The makefiles mk_msvc.mak and mk_clangw.mak have been improved to
write INI files with all environment variables. The INI files are
seed7/bin/cl_env.ini and seed7/bin/clangenv.ini. This INI files
contain the environment variables necessary to use the C compiler.
- The program setpaths.c has been improved to optionally write a
definition of the macro CC_ENVIRONMENT_INI to version.h. The macro
CC_ENVIRONMENT_INI defines the path of seed7/bin/cl_env.ini or
seed7/bin/clangenv.ini.
- Support for the configuration values CC_ENVIRONMENT_INI and
DATABASE_LIB has been added to cc_conf.s7i and cmd_rtl.c (in
cmdConfigValue()).
- The function unsetenv7() has been added to cmd_unx.c.
- In gkb_x11.c and gkb_x11.c the functions gkbGetc() and
gkbKeyPressed() have been improved to support KEY_MOUSE_FWD and
KEY_MOUSE_BACK. Additionally the macro TRACE_EVENTS, to optionally
trace events has been introduced.
- The makefiles have been improved to create the new library s7_db.a
(s7_db.lib), which contains all database drivers.
- The files sql_cli.c (former sql_odbc.c) and sql_fire.c have been
improved to reduce the number of C compiler warnings.
- In sql_cli.c (former sql_odbc.c) the function setDbErrorMsg() has
been improved to work for database error messages with Unicode
characters. The function wstri_to_cstri8() has been added to do the
conversion.
- The file db_odbc.h has been improved to define wide character
functions instead of ASCII functions. This was needed by sql_srv.c
because it links dynamically to sqlsrv32.dll, which only defines
wide character functions.
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.