|Version 11 (modified by 10 years ago) ( diff ),|
Welcome to Matreshka project
Matreshka is a set of Ada libraries to develop information systems. Now it includes only one library - League, which provides support for localization, internationalization and globalization. It includes:
- handling of string in unbounded form using Unicode representation and algorithms. Universal_Strings utilize implicit sharing (also known as copy-on-write) technology, thus have constant time of copy operation. It is safe to use them in multitasking programs until each object accessed by only one task in one moment. Elements of Universal_String can be accessed directly by index or using cursors. Two forms of cursors are available now: characters cursor - iterate string character by character, and grapheme clusters cursor - iterate string as sequences of characters forms visible character. Unicode normalization, case conversions, case folding and collation are also supported.
- regular expression engine. It uses Perl-style syntax with Unicode extensions. Non-backtracking virtual machine guarantee that regular expression searches run in time linear in the size of the input.
- XML document parser with SAX-style API.
League --- universal string, examples
League/Regexp --- regular expression engine, examples and syntax reference
XML/SAX --- Simple API for XML
Source code can be downloaded from Downloader section of this site or from Subversion repository