comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: ANN: Simple Components 4.75
Date: Sun, 10 Aug 2025 15:44:36 +0200	[thread overview]
Message-ID: <107a7o4$1u3pv$1@dont-email.me> (raw)

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

             reply	other threads:[~2025-08-10 13:44 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-08-10 13:44 Dmitry A. Kazakov [this message]
2025-08-10 14:06 ` ANN: Simple Components 4.75 Dmitry A. Kazakov
  -- strict thread matches above, loose matches on Subject: below --
2025-07-12 13:03 Dmitry A. Kazakov
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox