comp.lang.ada
 help / color / mirror / Atom feed
* ANN: Simple Components 4.75
@ 2025-07-12 13:03 Dmitry A. Kazakov
  0 siblings, 0 replies; 3+ messages in thread
From: Dmitry A. Kazakov @ 2025-07-12 13:03 UTC (permalink / 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

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* ANN: Simple Components 4.75
@ 2025-08-10 13:44 Dmitry A. Kazakov
  2025-08-10 14:06 ` Dmitry A. Kazakov
  0 siblings, 1 reply; 3+ messages in thread
From: Dmitry A. Kazakov @ 2025-08-10 13:44 UTC (permalink / 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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: ANN: Simple Components 4.75
  2025-08-10 13:44 Dmitry A. Kazakov
@ 2025-08-10 14:06 ` Dmitry A. Kazakov
  0 siblings, 0 replies; 3+ messages in thread
From: Dmitry A. Kazakov @ 2025-08-10 14:06 UTC (permalink / raw)


4.76

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-08-10 14:06 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-12 13:03 ANN: Simple Components 4.75 Dmitry A. Kazakov
  -- strict thread matches above, loose matches on Subject: below --
2025-08-10 13:44 Dmitry A. Kazakov
2025-08-10 14:06 ` Dmitry A. Kazakov

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