Version 13 (modified by vadim.godunko, 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.
  • 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

Source code can be downloaded from Downloader section of this site or from Subversion repository


Mailing list

There is matreshka-users@… mailing list to support Matreshka's users. To subscribe please use on-line form. Archive is available on-line.

Note: See TracWiki for help on using the wiki.