Anatoly Kardash's Public Domain Software
Infrastructure Libraries


Unfortunately I don't have too much public domain software created: I'm spending the most of my time working for commercial companies. But for now I can offer:
  • RE_Lib - C++ Regular Expression Library
  • D_Lib - C/C++ Debug Library
  • M_Lib - C++ Message Handling Library
  • E_Lib - C++ Error Handling Library


  • Do you need regular expressions in your C++ program? And you don't want neither to use some "big" library having regular expression as its part nor to port some existing C library to C++ nor (of course) to write it by yourself? If this is your situation then this is for you:


    RE_Lib - C++ Regular Expression Library

    The RE_Lib is a slightly modified version of well known "classic" regular expression implementation by Henry Spencer. (The original library may be found somewhere under ftp://ftp.zoo.toronto.edu or in other software collections.) This "good old" library is really good while you are writing in C. So the modifications I did are:

    The RE_Lib was tested on several UNIX platforms and MS Windows NT.

    Please note that I added project files for Microsoft Visual Studio (dsp for MSVC++ 6.x and vcp for MSEVC++ 3.x) on April 5th, 2002. So if you downloaded the library before this date and would like to get those files - then download and unpack the ZIP again.

    Requirements: nothing special is required.

    Downloading:
    RE_Lib UNIX (gzip+tar) MSWin (zip)
    Sources + documentation relib.tgz relib.zip
    (the UNIX and MSWin versions differ by EOLs only)

    Enjoy!



    Are you C/C++ programmer? Are you using any kind of debug printing? Do you need a trace of your program execution? Had you once regret that you can not turn on some piece of code at run-time? If the answer is "Yes" then this is for you:


    D_Lib - C/C++ Debug Library

    The D_Lib library provides a set of easy-to-use but powerful and easily configurable tools to perform a C/C++ programmer's daily debug as well as diagnostics needed by a system tester/maintainer. In fact the use of the D_Lib library gives very flexible debug printing with both compile-time and run-time management and also possibility to turn on/off (even run-time) some pieces of code without any recompilation.

    It was tested and used on several UNIX platforms as well as MS Windows 9x/ME/NT/2K/CE and EPOC/SymbianOS.

    The D_Lib library is referenced at least at:

    (Once D_Lib was also referenced from "C/C++ Users Journal". It does not exist anymore, nevertheless the cache of its links still can be found at http://www.hal9k.com/cug/links/subject43.htm.)

    For about 10 years D_Lib is being successfully used for many commercial and public projects by numerous organizations. It continuously remains in top-10 results for query "C++ debug library" in various search services like Google, Yahoo!, WebCrawler and others, sometimes catching the 1st place (here are screenshots of Google, Yahoo! and WebCrawler).

    Requirements: You must have some library implementing regular expressions. It may be either RE_Lib (from this site) or commercial RogueWave's SourcePro Core (former Tools.h++) library or publicly available M. A. Sridhar's YACL library (may be found somewhere under ftp://ftp.cs.scarolina.edu or ftp://ftp.cs.sc.edu or in some other collections, e.g. "net.sw"). I was too lazy to implement the regular expressions by myself - sorry.

    Downloading: The current version 3.6b of D_Lib is available here:
    UNIX (tar+gzip) MSWin9x/ME/NT/2K/CE (zip) EPOC/Symbian OS (zip)
    dlib36unix.tgz
    dlib36win.zip
    dlib36epoc.zip

  • the sources for UNIX and MSWin versions differ by EOLs only
  • a special packaging for EPOC/Symbian OS was originally made for D_Lib v3.5b by Peroon R&D Ltd. - thanks! (No changes in the sources, just ready-to-use package.)

    Although D_Lib may be found in other public domain software collections, like

    I strongly recommend to use the latest version downloaded from this page - the changes and bug fixes may be very important. If you want to be notified automatically about changes of this page - please register your e-mail address at ChangeDetect service using the form provided below.

    Enjoy!



    Do you have any textual information in your C++ program that is shown to end-users? Did you think about easy support of many languages and run-time switching of UI language? Did you think about lacks of "resource" files, like necessity of re-compilation and single-platform? If the answer is "Yes" then this is for you:


    M_Lib - C++ Message Handling Library

    The M_Lib is a mechanism allowing:

    It was tested and used on several UNIX platforms as well as MS Windows 9x/ME/NT/2K/CE and EPOC/SymbianOS.

    Requirements: C++ compiler supporting templates.

    Downloading: The current version 3.2b of M_Lib is available here:
    UNIX (tar+gzip) MSWin9x/ME/NT/2K/CE (zip) EPOC/Symbian OS (zip)
    mlib32unix.tgz
    mlib32win.zip
    mlib32epoc.zip
    (the sources for UNIX and MSWin versions differ by EOLs only)

    Enjoy!



    Do you have any textual information in your C++ program that is shown to end-users? Did you think about easy support of many languages and run-time switching of UI language? Did you think about lacks of "resource" files, like necessity of re-compilation and single-platform? If the answer is "Yes" then this is for you:


    E_Lib - C++ Error Handling Library

    The E_Lib library provides a unified mechanism to handle various situations requiring notification – either externally (error and other messages to end-user or maintainer) or internally (exceptions to program itself).

    It was tested and used on several UNIX platforms as well as MS Windows 9x/ME/NT/2K/CE.

    Requirements: C++ compiler supporting exceptions. Optionally: M_Lib (available at this site).

    Downloading: The current version 3.1b of E_Lib is available here:
    UNIX (tar+gzip) MSWin9x/ME/NT/2K/CE (zip)
    elib31unix.tgz
    elib31win.zip
    (the sources for UNIX and MSWin versions differ by EOLs only)

    Enjoy!



    Monitor this Page

    by ChangeDetect

    If you have questions please email me at
    akardash@hotmail.com.
    The statistics of this page may be viewed at: