• ANN: Simple Components 4.75

    From Dmitry A. Kazakov@mailbox@dmitry-kazakov.de to comp.lang.ada on Sat Jul 12 15:03:08 2025
    From Newsgroup: comp.lang.ada

    The current version provides implementations of smart pointers, directed graphs, sets, maps, B-trees, stacks, tables, string editing, unbounded
    arrays, expression analyzers, lock-free data structures, synchronization primitives (events, race condition free pulse events, arrays of events, reentrant mutexes, deadlock-free arrays of mutexes), arbitrary precision arithmetic, pseudo-random non-repeating numbers, symmetric encoding and decoding, IEEE 754 representations support, streams, persistent storage, multiple connections server/client designing tools and protocols implementations.

    https://www.dmitry-kazakov.de/ada/components.htm

    The new version provides an implementation of SNOBOL-like patterns. The patterns are integrated into the parsing framework. They can be
    constructed using expressions and then matched against the generic source.

    SNOBOL patterns are more powerful than regular expressions. A BNF
    grammar can be directly translated into pattern. Therefore they can be recursive. Features like immediate assignment and printout are fully supported. Patterns can extended by user-defined matching functions.
    Unicode is fully supported In particular matching letters involve
    Unicode categorization.

    Changes to the previous version:

    - The package Parsers.Generic_Source.Patterns was added to implement SNOBOL-like patters;
    - The package Parsers.Generic_Source.Patterns.Generic_User_Pattern was
    added to provide user-defined patters;
    - The package Parsers.Generic_Source.Patterns.Generic_Parametrized_User_Pattern was
    added to provide user-defined patters with parameter;
    - The function Top added to the package Stack_Storage;
    - The interface procedure Set_Pointer was modified in the generic
    package Parsers.Generic_Source.
    --
    Regards,
    Dmitry A. Kazakov
    http://www.dmitry-kazakov.de

    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Dmitry A. Kazakov@mailbox@dmitry-kazakov.de to comp.lang.ada on Sun Aug 10 15:44:36 2025
    From Newsgroup: comp.lang.ada

    The current version provides implementations of smart pointers, directed graphs, sets, maps, B-trees, stacks, tables, string editing, unbounded
    arrays, expression analyzers, lock-free data structures, synchronization primitives (events, race condition free pulse events, arrays of events, reentrant mutexes, deadlock-free arrays of mutexes), arbitrary precision arithmetic, pseudo-random non-repeating numbers, symmetric encoding and decoding, IEEE 754 representations support, streams, persistent storage, multiple connections server/client designing tools and protocols implementations.

    https://www.dmitry-kazakov.de/ada/components.htm

    Changes to the previous version:

    - The parsing example was upgraded from Ada 95 to Ada 2022. The changes include:
    - Unicode identifiers;
    - new (<subpool>) syntax;
    - Container aggregate;
    - for expressions in container aggregate;
    - declare expressions;
    - delta aggregates;
    - if expressions;
    - case expressions;
    - raise expressions;
    - The package Parsers.Generic_Ada_Parser.Generic_Dot was added for
    writing Ada syntax trees in the DOT format of Graphviz;
    - The package Parsers.Generic_Ada_Parser.Generic_Text_IO was added for printing Ada syntax trees;
    - The package Parsers.Generic_Source.UTF8_Keywords was added.

    An example of text output of the syntax tree for:

    (for I in 1 .. 4 => -- ARM 4.3.3
    (for J in 1 .. 4 =>
    (if I=J then 1.0 else 0.0)));

    () at 355:1..357:38
    |__for I in .. at 355:13..14
    |__1 at 355:11..11
    |__4 at 355:16..16
    => () at 356:8..357:37
    |__for J in .. at 356:20..21
    |__1 at 356:18..18
    |__4 at 356:23..23
    => if = at 357:16..16
    |__I at 357:15..15
    |__J at 357:17..17
    then
    1.0 at 357:24..26
    else
    0.0 at 357:33..35
    --
    Regards,
    Dmitry A. Kazakov
    http://www.dmitry-kazakov.de

    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Dmitry A. Kazakov@mailbox@dmitry-kazakov.de to comp.lang.ada on Sun Aug 10 16:06:36 2025
    From Newsgroup: comp.lang.ada

    4.76
    --
    Regards,
    Dmitry A. Kazakov
    http://www.dmitry-kazakov.de
    --- Synchronet 3.21a-Linux NewsLink 1.2