Top Prev Next Up Down

Features of Y2018-Text


21-bit character encoding

To make 21-bit (Unicode codepoint) text handling workable in a ADA programming language. The solution is to implement types

Function for handling types above Text in Y2018.Text.Core

To scan a ASCII file as hexadecimal or as text has been done since the 50-ties but to get view of a possible UTF-8 coded file more problematic. It may be a UTF-8 coded file but it is possible that the file also contains non-UTF-8 'characters'.

Regular expression

The implementation.

For text handling we have Regular Expression like what is found in Perl language but this is ADA not Perl. We are not following ICU standard of Unicode.org in our solution or C++ or Java regular expression implementations. The regular expression is implemented in package Y2018.Text.Jets and it's subpackages and works with an index pair (type I_A is array (1..2) of Integer). Where the first value refers to the starting point and the second to the endpoint of an array of type CFix. Only existing option is the posibility to search for strings independent of case.


GC, RangeVector, MapPools & features made from Unicode files

The '\p' implementation.

In this regular expression the '\p{}' notation holds many features that is not obvious but is central for the support. The '\p{}' notation is much more restricted than in Java or C++ (Unicode.org ICU).


Debug and test support

Functions for testing and debugging and support for the change from TEST to Quality Assurance environments (by removing debug code from ads- and adb-files).