Hello,
We chose gnu M4 to be the basis of our C99 code generation process.
To simplify our m4 source files we decided to add a few builtins to gm4.
The associated test files of these builtins are here attached.
We also wanted to add lexicographical order to the user macros and we replaced the central recognition hash-map with some kind of ordered map based on JudyL Arrays.
results :
1) no performance loss (very much a minimum!)
2) we can now add (but we had not yet) builtins of this kind : for each macro beginning with "myPrefix"...
He told us he has already achieved a x2 x4 speed gain on JudyL arrays.
4) maybe a way to implement a simpler changeword mode ? (keys can be non-ascii, can contain embedded 0 and so on)
If you are interested in our work, we would be very happy to talk further about it.
Besides, we would like to say "thanks a lot!" to the whole team of gnu M4 maintainers !
Gwenael & Thomas