ANNOUNCEMENT:
I have ported parts of MatchPy into C++:
symengine/symengine#1497
symengine library has been used for expression trees,
- only the parts of MatchPy needed by the generated code have been ported into C++,
- the C++ code generator is written in Python and still relies on MatchPy library.