[Almost ANN] Anything wrong with Unimal?

Feb 27, 2005 1 Replies

Hello NG, Some time ago I posted an external macro processor, Unimal, and I thought it would get the attention from embedded folks concerned with moving as much work as possible to compile time (saving on initialization time and code/data/stack footprint). But... so far the acceptance has been frustratingly limited. Could somebody concerned with the problems mentioned take a look and tell me what I could do better to improve the acceptance of the tool?



Thank you very much,



- Ark



formatting link


It seems that in essence Unimal is a scripting language that allows for automatic code generation (and generation of lookup tables, etc) at build time. The conventional way to accomplish something like this would be to use a standard tool like perl or awk or something similar. For larger problems use C itself, e.g. yacc is a C program which takes configuration data and generates C code.

This is what I have done in the past. For automatically generating things like lookup tables I have used standard tools like shell script and awk. For more complicated tasks like automatically generating code for a state machine from a text file describing the states I have used C.

I'm sure your tool is sophisticated and offers more benefits than the scripts I would write. Your "convincing example" is pretty cool. But the advantage you offered would have to be huge to get me to switch from a simple approach with well known, mature, ubiquitous, free tools that I am familiar with (and so are my colleagues and those who will come after me), to an unfamiliar, proprietary tool from a company I have never heard of.

Selection of tools for the build chain is a decision that lasts for years and hence is considered carefully, and with much caution. I think you will have a hard time getting tools accepted here. I think you will likely have more luck with "point" tools, i.e. tools like a validater, a lint, a profiler, etc., which are used by individual developers outside the build chain, and which are easily omitted or replaced with something different if they turn out to be a poor choice, or if the company that make them goes away.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required