Seed7 Release 2015-03-08
Sun, 8 Mar 2015 14:51:06 -0700 (PDT)

          From comp.compilers

Related articles
Seed7 Release 2015-03-08 (2015-03-08)
| List of all articles for this month |

Newsgroups: comp.compilers
Date: Sun, 8 Mar 2015 14:51:06 -0700 (PDT)
Organization: Compilers Central
Keywords: OOP, available
Posted-Date: 08 Mar 2015 19:56:26 EDT


I have released a new version of Seed7: seed7_05_20150308.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).

- 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
- 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
- The compiler function AppendWithDiagnostic has been renamed to
- 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
- 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,
- 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

Thomas Mertes

Seed7 Homepage:
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.

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.