mirror of
https://github.com/Z3Prover/z3
synced 2025-08-26 21:16:02 +00:00
Centralize and document TRACE tags using X-macros (#7657)
* Introduce X-macro-based trace tag definition - Created trace_tags.def to centralize TRACE tag definitions - Each tag includes a symbolic name and description - Set up enum class TraceTag for type-safe usage in TRACE macros * Add script to generate Markdown documentation from trace_tags.def - Python script parses trace_tags.def and outputs trace_tags.md * Refactor TRACE_NEW to prepend TraceTag and pass enum to is_trace_enabled * trace: improve trace tag handling system with hierarchical tagging - Introduce hierarchical tag-class structure: enabling a tag class activates all child tags - Unify TRACE, STRACE, SCTRACE, and CTRACE under enum TraceTag - Implement initial version of trace_tag.def using X(tag, tag_class, description) (class names and descriptions to be refined in a future update) * trace: replace all string-based TRACE tags with enum TraceTag - Migrated all TRACE, STRACE, SCTRACE, and CTRACE macros to use enum TraceTag values instead of raw string literals * trace : add cstring header * trace : Add Markdown documentation generation from trace_tags.def via mk_api_doc.py * trace : rename macro parameter 'class' to 'tag_class' and remove Unicode comment in trace_tags.h. * trace : Add TODO comment for future implementation of tag_class activation * trace : Disable code related to tag_class until implementation is ready (#7663).
This commit is contained in:
parent
d766292dab
commit
0a93ff515d
583 changed files with 8698 additions and 7299 deletions
|
@ -55,7 +55,7 @@ void seq_offset_eq::len_offset(expr* e, int val) {
|
|||
if (match_x_minus_y(e, x, y) &&
|
||||
ctx.e_internalized(x) &&
|
||||
ctx.e_internalized(y)) {
|
||||
TRACE("seq", tout << "eqc: " << mk_pp(e, m) << "\n";);
|
||||
TRACE(seq, tout << "eqc: " << mk_pp(e, m) << "\n";);
|
||||
enode* r1 = th.get_root(x);
|
||||
enode* r2 = th.get_root(y);
|
||||
for (enode* n1 : *r1) {
|
||||
|
@ -71,7 +71,7 @@ void seq_offset_eq::len_offset(expr* e, int val) {
|
|||
m_offset_equalities.insert(r1, r2, val);
|
||||
m_has_offset_equality.insert(r1);
|
||||
m_has_offset_equality.insert(r2);
|
||||
TRACE("seq", tout << "a length pair: " << mk_pp(e1, m) << ", " << mk_pp(e2, m) << "\n";);
|
||||
TRACE(seq, tout << "a length pair: " << mk_pp(e1, m) << ", " << mk_pp(e2, m) << "\n";);
|
||||
return;
|
||||
}
|
||||
return;
|
||||
|
@ -84,7 +84,7 @@ void seq_offset_eq::prop_arith_to_len_offset() {
|
|||
rational val;
|
||||
for (enode* n : th.get_context().enodes()) {
|
||||
if (a.is_numeral(n->get_expr(), val) && val.is_int32() && INT_MIN < val.get_int32()) {
|
||||
TRACE("seq", tout << "offset: " << mk_pp(n->get_expr(), m) << "\n";);
|
||||
TRACE(seq, tout << "offset: " << mk_pp(n->get_expr(), m) << "\n";);
|
||||
enode *next = n->get_next();
|
||||
while (next != n) {
|
||||
len_offset(next->get_expr(), val.get_int32());
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue