[ANN] Unimal 2.0, a language-independent preprocessor

Hello NG, I'd like to announce the release of Unimal 2.0, an advanced preprocessor independent of the target programming language(s). Built upon successful industry experience with the previous versions, it is now more powerful and expressive.

It proved to work wonders with static initialization and software project configuration, greatly reducing (sometimes, to zero) the maintainability problems, saving computing resources at the same time. It is also great for sharing data among disparate languages as it can output several different files, program-controlled.

Full-featured version 2.0 is made available for unlimited evaluation, along with a few application notes, at

formatting link

I would really like to ask people to evaluate it and provide some feedback at macroexpressions dot com. In particular,

- do you find any omission in Unimal functionality?

- would you suggest further improvements to Unimal?

- do you find it easy or difficult to bring Unimal into your build process?

- etc...

Thank you for your anticipated interest. Best, Ark Khasin

Reply to
Ark
Loading thread data ...

... snip ...

When people put up web pages that require horizontal scrolling, I ignore them. How hard is it to let html do its normal thing and adapt to the user?

--
"If you want to post a followup via groups.google.com, don't use
 the broken "Reply" link at the bottom of the article.  Click on 
 "show options" at the top of the article, then click on the 
 "Reply" at the bottom of the article headers." - Keith Thompson
More details at: 
Also see
Reply to
CBFalconer

Thank you for your observation. It is my oversight, now fixed.

- Ark

Reply to
Ark

Much better. However I was under the mistaken impression it was open-source.

--
"If you want to post a followup via groups.google.com, don't use
 the broken "Reply" link at the bottom of the article.  Click on 
 "show options" at the top of the article, then click on the 
 "Reply" at the bottom of the article headers." - Keith Thompson
More details at: 
Also see
Reply to
CBFalconer

There are good reasons why people shell out thousands for embedded tools. I think Unimal is well within the means of those who need to optimize.

Reply to
Ark

The more power to you. As I said, mistaken impression.

--
"If you want to post a followup via groups.google.com, don't use
 the broken "Reply" link at the bottom of the article.  Click on 
 "show options" at the top of the article, then click on the 
 "Reply" at the bottom of the article headers." - Keith Thompson
More details at: 
Also see
Reply to
CBFalconer

Am I the only one who thought that said "Urinal" the first time I looked at it?

Reply to
Eric

When the other choices are inferior, and the cost of bringing them up to requirements (or modifying other characteristics of the system to compensate for their inferiority) is greater than the cost of purchasing the superior tools. Note that costs can include NRE, schedule slips, BoM, and just about anything else.

I'm not saying this is (or isn't) the case here. Just simple economics. If it makes economic sense to buy, you buy. Otherwise you don't.

Regards, -=Dave

--
Change is inevitable, progress is not.
Reply to
Dave Hansen

It just doesn't seem like good programming practice to decorate your source code with a non-standard and proprietary macro language.

Reply to
Marco

And, in this case there doesn't actually appear to be any cost information. Or for that matter any information at all on how you might be able to purchase the product if you were interested.

That make's it rather hard to judge if there is an economic case to be made.

Personally I'm leery of products where the sellers are not willing to be up front about the purchase price.

Robert

Still havn't gotten around to getting a news server source.

Reply to
sub2

Exactly. I don't recall having seen any reason to prefer this new-fangled, proprietary macro processor over plain old m4.

--
Hans-Bernhard Broeker (broeker@physik.rwth-aachen.de)
Even if all the snow were burnt, ashes would remain.
Reply to
Hans-Bernhard Broeker

Harsh. Click on the purchase button and see the price.

- Ark

Reply to
Ark

Thank you for the reviews. I am attempting to answer to both of you guys.

  1. Unimal features set is well documented, so it is not proprietary: go ahead and make your own implementation. The MacroExpressions version of Unimal *program* uses a commercial library and cannot be open-sourced.

  1. To compare different macro languages, aside from syntax simplicity/complexity, it helps to have their target applications in mind. Unimal is designed to help optimization and management efforts.

- Unimal's capability to output multiple files makes it very useful in sharing data across different files/languages (entering one thing in only one place is a good and often necessary practice).

- Unimal's capability to output include files dependencies and full control of output directories makes it a great fit in most build environments.

  1. Comparing Unimal vs. m4... Unimal came around because I felt m4 was inadequate in features and cumbersome in syntax. Consider how hard or easy it is to

- tabulate a trig function

- share your memory map between your CRC check routine, linker command file and a tool that post-processes the build output and plants the CRC

- hand-optimize loop unrolling in the executable code

- pre-compute and compress lookup tables for constant objects

- etc. There are a few app notes on the website illustrating how to accomplish these and similar things with Unimal.

  1. Unimal is *not* for capturing Unix commands output and such. This is by design: Unimal can preprocess source code and a make utility (or whatever the build driver) can control the build process. (I think a feature should be added not because I can do it but because there is a problem in the application domain that this feature solves.)

I hope this clarifies the issues you raised. Feel free to contact me if you have further questions.

Thanks again for taking a look at Unimal.

Best,

- Ark

Reply to
Ark

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.