MacroExpressions Downloads

Home Products Services Download Contact us
General introduction to MacroExpressions Overview and more info about C-Slang, Unimal and Snob Consulting, products customization, custom development ^
<You are here>
Email, telephone and fax numbers

Click on a button below to start download

All downloads are in ZIP format. If you don't have an appropriate un-archiving utility, 7-zip is highly recommended. The included documentation is provided in PDF format; if you do not have a PDF viewer, you may want to grab the free Acrobat Reader.


Credits and acknowledgments



Here is the place to download Snob, Unimal, C-SLang and Maestra. To start download, click on the appropriate button on the left. To find out what those products are, please, visit the products page. To review what is included in the download packages, please, find the information below.

You can also download presentations here:

  • Embedded Systems Conference West 2000 (San Jose, CA): the paper and handouts of Class #347 "Managing Constant Data in ROMable Applications." This is a rather involved treatment of a case where a good macroassembler can be used in place of Unimal.
  • DesignCon 2001 (Santa Clara, CA): handout of TecForum HP-TF2 "Improving code maintainability and saving ROM using Unified Macro Language." The handout contains motivational examples on using Unimal.
  • Embedded Systems Conference Boston 2008 (Boston, MA): the paper and slides of Class #443 "Doing C (and C++) unit testing on a shoestring." This is a presentation of a method of instrumenting code by abusing the C preprocessor inspired by Maestra.

We do not require you to register in order to gain access to downloads but we would appreciate if you send an acknowledgment email to info@macroexpressions.com

Maestra download

A reference implementation of the unit test environment is available for download. It is free for use for any purpose. Don't be surprised, however, if you find you need to customize it to better match your environment.

The download file, maestra.zip [UPDATED!], contains:

  • "C code unit testing on a shoestring" - a PDF document describing the free unit testing environment vs. commercial tools
  • maestra.pdf - brief release notes
  • Compilable/runnable source code with an example

Note that this is an updated version; see the Maestra page and/or release notes in maetra.pdf for details. Some original implementations are still worth preserving; they are available for download as maestra-original.zip.

Snob download

The full version of Snob is available for download. Its use, however, is restricted by the license agreement. Basically, you cannot distribute your code obfuscated with Snob without purchasing a distribution license.

The download file, snob.zip, contains:

  • snob.exe - Win32 console executable
  • snobman.pdf - documentation, including license agreement, and reference
  • snobtut.pdf - Snob tutorial
  • snobre.pdf - Regular expressions reference
  • basic C language configuration files, C*.snob
  • subdirectory Sample containing a toy Bark project used in the tutorial

Currently, basic language configuration files are available for C. They are included in the distribution.
Any working configurations contributed to the Snob project will be posted here.

Unimal full version download (for evaluation only)

Full version of Unimal 2.1 (Build 231) for Win32 platforms is available for download for evaluation with no time limit. If you need to evaluate Unimal on Linux, simply send a request to info@macroexpressions.com.

By downloading Unimal, you agree to use it for evaluation purposes only: no Unimal output file (whether directly or after any postprocessing) can be used in any product build without purchasing a license.

The download file, unimal2.zip, contains:

  • General information on the Unimal download (readme.txt)
  • The Win32 console application (Unimal.exe). Note that your target platform does not have to be Windows; iit can be anything.
  • Complete documentation in PDF format (Unimal2.1.pdf) with accompanying sample files in Samples\QuickStart directory
  • Four Application Notes in PDF format (appnote1.pdf to appnote4.pdf) and accompanying sample files in their respective Samples\AppNotes\1 to Samples\AppNotes\4 directories

C-SLang 2.0 evaluation version download

Sorry, in the evaluation version the implementation is partially hidden by name obfuscation. Other than that, the evaluation version is fully functional.

Note: If your C compiler is not sufficiently compliant with ISO/ANSI standrad (you can test compliance with compileme.c) you may want to re-read a note on compiler compatibility and get the Unimal add-on for C-SLang and its documentation.

Included in the csl2_eval.zip are:

  • readme.txt ? description of limitations of the evaluation version
  • C-SLang2.pdf ? documentation of the complete version, ver. 2.0
  • csllib.lib ? library support of the evaluation version (not needed in full version)
  • csl_opt.h ? C header file defining the C types of the variables
  • cslpubl.h, csldef.h ? public headers of C-SLang
  • cslpriv.h ? a private header of C-SLang
  • sample1.c, sample2.c, sample3.c ? sample C-SLang scripts
  • samplesvirm.c, sample.h ? a simple implementation of the self-test running the supplied sample scripts
  • csltest.c, eval_files.dsp ? a sample C main() and a Visual Studio 6.0 project wrapping the self-test for Win32 platform
  • test.log ? output of the self-test (can be used for regression test of your build).