<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Home</title><link>https://sourceforge.net/p/simplecomponentsforada/wiki/Home/</link><description>Recent changes to Home</description><atom:link href="https://sourceforge.net/p/simplecomponentsforada/wiki/Home/feed" rel="self"/><language>en</language><lastBuildDate>Thu, 02 Jul 2026 18:16:07 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/simplecomponentsforada/wiki/Home/feed" rel="self" type="application/rss+xml"/><item><title>Discussion for Home page</title><link>https://sourceforge.net/p/simplecomponentsforada/wiki/Home/?limit=250#2350</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Changes (2 July 2026) to the version 4.80:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Compatibility to GNAT 16.1.1. This GNAT 16.1.1 has the recurring issue/bug related to the visibility of names from formal generic packages;&lt;/li&gt;
&lt;li&gt;Constant expression folding was added to Ada expression parser (Parsers.Generic_Ada_Parser). Folding is optional. If enabled expressions in universal types and constant Boolean expressions are folded. e.g. 1 + 2 + A (5) -&amp;gt; 3 + A (5);&lt;/li&gt;
&lt;li&gt;The subprograms Get, Put, Value were added to the package Parsers.Multiline_Source;&lt;/li&gt;
&lt;li&gt;The call-back On_Success was added to the Generic_Lexer's parser;&lt;/li&gt;
&lt;li&gt;The procedures Mark and Release were added to the package Parsers.Generic_Lexer;&lt;/li&gt;
&lt;li&gt;The package Stack_Storage.Text_IO was added to output stack pool statistics;&lt;/li&gt;
&lt;li&gt;Parameter Message was added to the procedure Put_Line of the package Parsers.Generic_Source.Text_IO;&lt;/li&gt;
&lt;li&gt;Ada expression parser supports raise-statements outside immediate pair of parentheses;&lt;/li&gt;
&lt;li&gt;Checking positional and named aggregates was added in the Ada expression parser;&lt;/li&gt;
&lt;li&gt;Checking positional and named parameters was added in the Ada expression parser;&lt;/li&gt;
&lt;li&gt;Array objects were added to the declare expressions in the Ada expression parser;&lt;/li&gt;
&lt;li&gt;Aspects recognition was added to the declare expressions in the Ada expression parser;&lt;/li&gt;
&lt;li&gt;Subtype marks and indications were added in the Ada expression parser;&lt;/li&gt;
&lt;li&gt;Attributes were added in the Ada expression parser;&lt;/li&gt;
&lt;li&gt;Target name @ support was added in the Ada expression parser;&lt;/li&gt;
&lt;li&gt;The parser can start with the first operand already recognized;&lt;/li&gt;
&lt;li&gt;An ability to parse an expression in parenthesis with a consumed left parenthesis was added;&lt;/li&gt;
&lt;li&gt;Comparisons of Unbounded_Integer bug fixed;&lt;/li&gt;
&lt;li&gt;Log procedure was added to Unbounded_Unsigneds;&lt;/li&gt;
&lt;li&gt;Column_Name function was added to the SQLIte bindings (contributed by Xavier Grave).&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">dmitry-kazakov</dc:creator><pubDate>Thu, 02 Jul 2026 18:16:07 -0000</pubDate><guid>https://sourceforge.netad8b9de6b7a8d2a73e4888e12fa5bde8a1392569</guid></item><item><title>Discussion for Home page</title><link>https://sourceforge.net/p/simplecomponentsforada/wiki/Home/?limit=250#969c</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Changes (16 February 2026) to the version 4.78:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The package Generic_Undirected_Graph was added;&lt;/li&gt;
&lt;li&gt;The package Discrete_Integer_Set an instance of Generic_Discrete_Set with Integer was added;&lt;/li&gt;
&lt;li&gt;The Natural_Number_Range pattern was added to Parsers.Generic_Source.Patterns to match a number from a range of natural numbers;&lt;/li&gt;
&lt;li&gt;The Natural_Number_Range pattern was added to Parsers.Generic_Source.Patterns to match a number from a set of natural numbers;&lt;/li&gt;
&lt;li&gt;The  maximum number of matches was added to the pattern Proceed in the package Parsers.Generic_Source.Patterns;&lt;/li&gt;
&lt;li&gt;The form "or null" was added to Parsers.Generic_Source.Patterns as an equivalent of "or Empty;"&lt;/li&gt;
&lt;li&gt;Bug fix in Unbounded_Unsigneds causing memory leak.&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">dmitry-kazakov</dc:creator><pubDate>Sun, 29 Mar 2026 16:26:28 -0000</pubDate><guid>https://sourceforge.netf3383bfa832cc7ee5d108af7db81295cdf4175bd</guid></item><item><title>Discussion for Home page</title><link>https://sourceforge.net/p/simplecomponentsforada/wiki/Home/?limit=250#e683</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Changes to the previous version:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Recurring rational representations (1/3 = 0.(3)) were added to the package Strings_Edit.Unbounded_Rational_Edit;&lt;/li&gt;
&lt;li&gt;Bug fix in Strings_Edit.Unbounded_Unsigned_Edit caused by overflow for 16 base;&lt;/li&gt;
&lt;li&gt;Next_Prime was added to the package Unbounded_Unsigneds.Primes;&lt;/li&gt;
&lt;li&gt;The pattern Proceed was added to SNOBOL-like patterns;&lt;/li&gt;
&lt;li&gt;Some heuristics were added to improve performance of SNOBOL-like patterns.&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">dmitry-kazakov</dc:creator><pubDate>Mon, 16 Feb 2026 08:44:22 -0000</pubDate><guid>https://sourceforge.netaad9cf3024d0af4202ded96421fe8f0788c62eb1</guid></item><item><title>Discussion for Home page</title><link>https://sourceforge.net/p/simplecomponentsforada/wiki/Home/?limit=250#2d24</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Changes the previous version:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The pattern NL_or_EOF was added to SNOBOL-like patterns;&lt;/li&gt;
&lt;li&gt;The package Parsers.Generic_Source.Patterns.Generic_Fields was added to match and accumulate a string array of delimited fields;&lt;/li&gt;
&lt;li&gt;The package Parsers.Generic_Source.Patterns.Generic_Floats was added to match and accumulate a float array;&lt;/li&gt;
&lt;li&gt;The package Parsers.Generic_Source.Patterns.Generic_Integers was added to match and accumulate an integer array;&lt;/li&gt;
&lt;li&gt;The package Parsers.String_Patterns was added as an instance of Parsers.Generic_Source.Patterns for Parsers.String_Source to be used with string sources;&lt;/li&gt;
&lt;li&gt;The package Parsers.Multiline_Patterns was added as an instance of Parsers.Generic_Source.Patterns for Parsers.Multiline_Source to be used with string sources;&lt;/li&gt;
&lt;li&gt;The packages Parsers.String_Patterns.Fields and Parsers.Multiline_Patterns.Fields were added as instances of Parsers.Generic_Source.Patterns.Generic_Fields;&lt;/li&gt;
&lt;li&gt;The packages Parsers.String_Patterns.Floats and Parsers.Multiline_Patterns.Floats were added as instances of Parsers.Generic_Source.Patterns.Generic_Floats with the Float type;&lt;/li&gt;
&lt;li&gt;The packages Parsers.String_Patterns.Integers and Parsers.Multiline_Patterns.Integers were added as instances of Parsers.Generic_Source.Patterns.Generic_Integers with the Integer type;&lt;/li&gt;
&lt;li&gt;The pattern Field was added to Parsers.Generic_Source.Patterns to match delimited fields;&lt;/li&gt;
&lt;li&gt;The pattern Natural_Number was added to Parsers.Generic_Source.Patterns to match natural numbers;&lt;/li&gt;
&lt;li&gt;The pattern Fixed_Point_Number was added to Parsers.Generic_Source.Patterns to match fixed-point numbers;&lt;/li&gt;
&lt;li&gt;The pattern XML_Literal was added to Parsers.Generic_Source.Patterns to match XML literals;&lt;/li&gt;
&lt;li&gt;The pattern FloatingPoint_Number was added to Parsers.Generic_Source.Patterns to match floating-point numbers;&lt;/li&gt;
&lt;li&gt;The user-defined variables were added to Parsers.Generic_Source.Patterns and in the generic form by the Parsers.Generic_Source.Patterns.Generic_Variable;&lt;/li&gt;
&lt;li&gt;Subroutines Get_Session_Host, Get_Keep_Host_Name, Set_Keep_Host_Name were added to the package GNAT.Sockets.Server.&lt;/li&gt;
&lt;li&gt;The procedure Enable_SSL_Trace was added to the package GNAT.Sockets.Server.OpenSSL;&lt;/li&gt;
&lt;li&gt;OpenSSL client supports the Server Name Indication (SNI) extension;&lt;/li&gt;
&lt;li&gt;Secure (GNUTLS) client supports the Server Name Indication (SNI) extension;&lt;/li&gt;
&lt;li&gt;Function "/" was added to Parsers.JSON to extract values by key.&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">dmitry-kazakov</dc:creator><pubDate>Mon, 05 Jan 2026 09:08:44 -0000</pubDate><guid>https://sourceforge.net8778940954beceaf5bcc332ba2631d408fd8f9e3</guid></item><item><title>Discussion for Home page</title><link>https://sourceforge.net/p/simplecomponentsforada/wiki/Home/?limit=250#4820</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Changes the previous version:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The Python high-level class support fixed to accommodate controlled types;&lt;/li&gt;
&lt;li&gt;The Python high-level class supports extension of Python types with Ada type extension;&lt;/li&gt;
&lt;li&gt;Binding to Get_Basic_Size were added to the package Py;&lt;/li&gt;
&lt;li&gt;Throw_NotImplementedError procedure was added to the package Py;&lt;/li&gt;
&lt;li&gt;Weak references support was added to the Py package.&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">dmitry-kazakov</dc:creator><pubDate>Thu, 04 Dec 2025 15:25:47 -0000</pubDate><guid>https://sourceforge.nete29d1de63aff607e46ac2d69e3173fbe324a6bd3</guid></item><item><title>Discussion for Home page</title><link>https://sourceforge.net/p/simplecomponentsforada/wiki/Home/?limit=250#7d4c</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Changes to the previous version:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The parsing example was upgraded from Ada 95 to Ada 2022. The changes include:&lt;/li&gt;
&lt;li&gt;Unicode identifiers;&lt;/li&gt;
&lt;li&gt;new (&amp;lt;subpool&amp;gt;) syntax;&amp;lt;/subpool&amp;gt;&lt;/li&gt;
&lt;li&gt;Container aggregate;&lt;/li&gt;
&lt;li&gt;for expressions in container aggregate;&lt;/li&gt;
&lt;li&gt;declare expressions;&lt;/li&gt;
&lt;li&gt;delta aggregates;&lt;/li&gt;
&lt;li&gt;if expressions;&lt;/li&gt;
&lt;li&gt;case expressions;&lt;/li&gt;
&lt;li&gt;raise expressions;&lt;/li&gt;
&lt;li&gt;The package Parsers.Generic_Ada_Parser.Generic_Dot was added for writing Ada syntax trees in the DOT format of Graphviz;&lt;/li&gt;
&lt;li&gt;The package Parsers.Generic_Ada_Parser.Generic_Text_IO was added for printing Ada syntax trees;&lt;/li&gt;
&lt;li&gt;The package Parsers.Generic_Source.UTF8_Keywords was added.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;An example of text output of the syntax tree for:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;(for I in 1 .. 4 =&amp;gt;           -- ARM 4.3.3
   (for J in 1 .. 4 =&amp;gt;
      (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
   =&amp;gt; () at 356:8..357:37
      |__for J in .. at 356:20..21
                  |__1 at 356:18..18
                  |__4 at 356:23..23
         =&amp;gt; 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
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">dmitry-kazakov</dc:creator><pubDate>Sun, 10 Aug 2025 13:59:39 -0000</pubDate><guid>https://sourceforge.nete0bba320d92dc7c156e871f34e0e71264c797000</guid></item><item><title>Discussion for Home page</title><link>https://sourceforge.net/p/simplecomponentsforada/wiki/Home/?limit=250#40c8</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;Changes to the version 3.74&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The package Parsers.Generic_Source.Patterns was added to implement SNOBOL-like patters;&lt;/li&gt;
&lt;li&gt;The package Parsers.Generic_Source.Patterns.Generic_User_Pattern was added to provide user-defined patters;&lt;/li&gt;
&lt;li&gt;The package Parsers.Generic_Source.Patterns.Generic_Parametrized_User_Pattern was added to provide user-defined patters with parameter;&lt;/li&gt;
&lt;li&gt;The function Top added to the package Stack_Storage;&lt;/li&gt;
&lt;li&gt;The interface procedure Set_Pointer was modified in the generic package Parsers.Generic_Source.&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">dmitry-kazakov</dc:creator><pubDate>Sat, 12 Jul 2025 13:01:41 -0000</pubDate><guid>https://sourceforge.netf1f04f4d1ee7d03b33ab46f390efee0d10561402</guid></item><item><title>Discussion for Home page</title><link>https://sourceforge.net/p/simplecomponentsforada/wiki/Home/?limit=250#35e8</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;The focus of this release is an implementation of arbitrary precision rational numbers. The difference to standard library Ada.Numerics.Big_Numbers.Big_Reals:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;No limits, except for the pool size;&lt;/li&gt;
&lt;li&gt;String edit packages representing a number in a usual form (with the specified accuracy) rather than as a numerator/denominator ratio;&lt;/li&gt;
&lt;li&gt;An equivalent of Ada.Numerics.Elementary_Functions with rational approximations;&lt;/li&gt;
&lt;li&gt;Simple continued fractions support.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Changes to the previous version:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The package Unbounded_Rationals provides an implementation of arbitrary precision rational numbers arithmetic;&lt;/li&gt;
&lt;li&gt;The child package Unbounded_Rationals.Elementary_Functions provides approximations in rational numbers of some elementary, trigonometric and hyperbolic functions;&lt;/li&gt;
&lt;li&gt;The package Strings_Edit.Unbounded_Rational_Edit provides string editing for arbitrary precision rational numbers;&lt;/li&gt;
&lt;li&gt;The package Strings_Edit.Unbounded_Unsigned_Edit was optimized for better performance;&lt;/li&gt;
&lt;li&gt;Mixed Unsigned_Integer to Integer operations were added to the package Unsigned_Integers;&lt;/li&gt;
&lt;li&gt;The package Unbounded_Rationals.Continued_Fractions provides an implementation of simple continued fractions;&lt;/li&gt;
&lt;li&gt;The package Strings_Edit.Continued_Fraction_Edit provides string editing for simple continued fractions;&lt;/li&gt;
&lt;li&gt;Bug fixes in List_SetItem Python bindings;&lt;/li&gt;
&lt;li&gt;Check_Error message in Python binding was improved, trace back output added;&lt;/li&gt;
&lt;li&gt;Added higher level operations to create Python modules after initialization of the Python interpreter;&lt;/li&gt;
&lt;li&gt;Added higher level operations to create Python classes AKA heap types after initialization;&lt;/li&gt;
&lt;li&gt;An example of higher level module creation was provided;&lt;/li&gt;
&lt;li&gt;An example of higher level class creation was provided;&lt;/li&gt;
&lt;li&gt;IsInitialized function was added to Python bindings;&lt;/li&gt;
&lt;li&gt;OSX project settings fixed.&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">dmitry-kazakov</dc:creator><pubDate>Mon, 30 Jun 2025 10:51:44 -0000</pubDate><guid>https://sourceforge.net015630d1feb0073200bba5c30da11c86da82bebb</guid></item><item><title>Discussion for Home page</title><link>https://sourceforge.net/p/simplecomponentsforada/wiki/Home/?limit=250#4594</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Changes the  version 4.73:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Bug fix in Generic_Set.Insert which failed to set Inserted output correctly when the element is already in the set;&lt;/li&gt;
&lt;li&gt;Bug fix in Generic_Indefinite_Set.Insert, same as above;&lt;/li&gt;
&lt;li&gt;The package Generic_Lock_Free_FIFO was added. The package implements lock-free N-to-M FIFOs.&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">dmitry-kazakov</dc:creator><pubDate>Sat, 29 Mar 2025 11:39:53 -0000</pubDate><guid>https://sourceforge.net4de5132c4156c10e4cf66f1682a09b268ada59e5</guid></item><item><title>Discussion for Home page</title><link>https://sourceforge.net/p/simplecomponentsforada/wiki/Home/?limit=250#0217</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Changes the  version 4.72:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Topic list bug fix in the package GNAT.Sockets.MQTT (thanks to Xavier Grave);&lt;/li&gt;
&lt;li&gt;Minor performance improvements in Unbounded_Unsigneds: calculating log2, testing for power of two;&lt;/li&gt;
&lt;li&gt;OpenSSL MQTT test (components-connections_server.mqtt-test_mqtt) added;&lt;/li&gt;
&lt;li&gt;GNAT.Sockets.Server.Secure (GNUTLS) bug fixed. Activated is called at the end of handshaking;&lt;/li&gt;
&lt;li&gt;GNAT.Sockets.Server.OpenSSL bug fixed. Activated is called at the end of handshaking.&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">dmitry-kazakov</dc:creator><pubDate>Tue, 11 Mar 2025 17:29:33 -0000</pubDate><guid>https://sourceforge.net6fc2f4a70bf472fef0a3293627e90c6499963fb8</guid></item></channel></rss>