|Version 15 (modified by 11 years ago) ( diff ),|
Welcome to Matreshka project
Matreshka is a set of Ada libraries to develop information systems. Now it includes two libraries - first provides support for localization, internationalization and globalization; and second includes XML processor. They includes:
- support for unbounded form of string of full range of Unicode characters including Unicode algorithms such as normalization, case conversion and case folding, collation. 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.
- 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.
- message translation system.
- XML document parser with SAX-style API.
League --- universal string, examples
League/Regexp --- regular expression engine, examples and syntax reference
League/Translator --- localization: message translation service
XML/SAX --- Simple API for XML
Source code can be downloaded from Downloader section of this site or from Subversion repository