wiki:WikiStart

Version 23 (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. 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. Several techniques used to speedup performance and minimize memory footprint, see League/Performance for more information.
  • 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.
  • text decoder. It can decode text from large number of character sets into Unicode.
  • message translation system. It helps to translate application's messages into any natural human language.
  • XML document parser with SAX-style API. Both XML 1.0 and XML 1.1 and corresponding Namespaces in XML specifications are supported. SAX XML Writer coming soon.

League --- universal string, examples

League/Regexp --- regular expression engine, examples and syntax reference

League/TextCodec --- text codec

League/Translator --- localization: message translation service

XML/SAX --- Simple API for XML.

Source code

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

svn://adaforge.qtada.com/matreshka/trunk/matreshka

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.

Open projects

Note: See TracWiki for help on using the wiki.