mirror of
https://github.com/Z3Prover/z3
synced 2025-08-21 02:30:23 +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
|
@ -313,7 +313,7 @@ bool eliminate_predicates::is_macro_safe(expr* e) {
|
|||
|
||||
void eliminate_predicates::insert_macro(app* head, expr* def, clause& cl) {
|
||||
insert_macro(head, def, cl.m_dep);
|
||||
TRACE("elim_predicates", tout << "remove " << cl << "\n");
|
||||
TRACE(elim_predicates, tout << "remove " << cl << "\n");
|
||||
cl.m_alive = false;
|
||||
}
|
||||
|
||||
|
@ -342,7 +342,7 @@ void eliminate_predicates::insert_macro(app* head, expr* def, expr_dependency* d
|
|||
m_macros.insert(head->get_decl(), info);
|
||||
m_fmls.model_trail().push(head->get_decl(), _def, _dep, {}); // augment with definition for head
|
||||
m_is_macro.mark(head->get_decl(), true);
|
||||
TRACE("elim_predicates", tout << "insert " << _head << " " << _def << "\n");
|
||||
TRACE(elim_predicates, tout << "insert " << _head << " " << _def << "\n");
|
||||
++m_stats.m_num_macros;
|
||||
}
|
||||
|
||||
|
@ -654,7 +654,7 @@ void eliminate_predicates::try_resolve(func_decl* p) {
|
|||
if (cl->m_alive)
|
||||
++num_neg;
|
||||
|
||||
TRACE("elim_predicates", tout << "try resolve " << p->get_name() << " " << num_pos << " " << num_neg << "\n");
|
||||
TRACE(elim_predicates, tout << "try resolve " << p->get_name() << " " << num_pos << " " << num_neg << "\n");
|
||||
|
||||
if (num_pos >= 4 && num_neg >= 2)
|
||||
return;
|
||||
|
@ -737,7 +737,7 @@ void eliminate_predicates::update_model(func_decl* p) {
|
|||
}
|
||||
|
||||
rewrite(def);
|
||||
TRACE("elim_predicates", tout << "insert " << p->get_name() << " " << def << "\n");
|
||||
TRACE(elim_predicates, tout << "insert " << p->get_name() << " " << def << "\n");
|
||||
m_fmls.model_trail().push(p, def, dep, deleted);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue