You may want to compare this against boost/spirit. I use Spirit extensively for my own Domain Specific Language parsing requirements.
The library is similar to Boost.Spirit, however while
parsers built with Spirit parse at run-time, parsers
built with Metaparse parse at compile-time.
0 - https://www.boost.org/doc/libs/1_82_0/doc/html/metaparse.htm...