|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
As previously announced on LinkedIn, MacroExpressions is closing. The hard deadline is
12/06/2026, but it may come earlier. If anyone would like to
take over, please contact MacroExpressions before
it closes. |
|||||||||||||||||||||||
|
|
C/C++ development teams which have to demonstrate unit
test completion along with a proof of code/branch coverage could
find MacroExpression's approach interesting.
It provides a free framework with code instrumentation. It can be an
alternative to those expensive tool suites.
Embedded systems developers and
project managers facing maintainability
problems in "same-but-different" model-year or product
line environment can put Unimal to good use.
Engineers who design embedded
devices and systems with testability
in mind will benefit from using C-SLang.
Embedded devices manufacturing and quality control personnel in particular will appreciate
working with C-SLang-enabled devices.
Companies distributing their code
in source or library form often want to hide
the intellectual property in it from prying eyes. Snob, the Simple Name OBfuscator, is a freely configurable tool
replacing meaningful names in the code with meaningless look-alike names and
thus making the code unreadable by
humans.
C-SLang and Unimal will help developers concerned
with saving precious memory
resources.
Vendors and integrators
of embedded development tools may find it advantageous to include Unimal and C-SLang as parts of
their toolchains.
And anyone can benefit from reading the next section...
Maestra is a free reference implementation of C/C++ unit test environment. It depends only on your compiler to provide code instrumentation that may be used to prove code/branch coverage.
Snob is an inexpensive software tool for obfuscating meaningful names in your software project and for removing comments and thus for making it incomprehensible by humans. Companies use name obfuscation to protect intellectual property embodied in the distributable source code.
Snob is a name obfuscator which is independent of the project's programming language(s) and is simple yet as powerful as you care to configure it. In particular, it is capable of handling projects written in multiple programming languages, and it can preserve names or the whole files designated as Application Programmer's Interface.
Unimal is a unified (that is, independent of the target programming language) macro processor. It is designed to work wonders with static compile-time or, more precisely, build-time initialization. Unimal makes it possible:
Moreover, Unimal is an embedded software configuration tool which equips programming languages with macro extensions greatly improving embedded project maintainability. It promotes project scalability and allows to automate, often to zero maintenance:
C-SLang is a tiny Assembler-like script language compiled into a virtual executable code by any ISO/ANSI C compiler: no other tools needed. Its mission is to enable comprehensive testability of ROMable embedded systems via downloadable test code modules and thus without ROM footprint penalties. This technique, sometimes called off-board diagnostics, is independent of the processor architecture if implemented with C-SLang, and allows to accumulate long lasting diagnostic code assets for all phases of embedded projects:
Moreover, C-SLang scripts can be linked in, which makes C-SLang useful for small tasks for which ROM is at premium and execution time is not:
For
more analysis, please, see the white paper, "Solving testability problems of resource-constrained
embedded systems with interpreted languages", which is also available in pdf.
To wrap it up,
then you may find yourself interested in MacroExpressions products.
As
previously announced on LinkedIn, MacroExpressions
is closing. The hard deadline is 12/06/2026, but it may come earlier.
If
anyone would like to take over, please contact MacroExpressions
before it closes.