有没有办法以人类可读的形式打印AST,就像Python API一样? 我想要像
这样的东西(x = 3) ^ (f(3) > 2)
而不是
(and (= x 3) (> (f 3) 2)
答案 0 :(得分:2)
不,Z3 C / C ++ API没有此功能。 Z3 Python API中的漂亮打印机是用Python实现的。它不是核心API的一部分。 Z3 Python打印机在文件src/api/python/z3printer.py
中实现(请参阅here)。可以使用C / C ++(如符号)在C / C ++中重新实现它。