3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-23 17:15:31 +00:00

added module descriptions

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
This commit is contained in:
Leonardo de Moura 2012-12-02 13:15:56 -08:00
parent 1871bef6e1
commit fa53b1eb92
17 changed files with 159 additions and 33 deletions

View file

@ -37,6 +37,7 @@ bool is_old_param_name(symbol const & name) {
struct gparams::imp {
dictionary<param_descrs*> m_module_param_descrs;
dictionary<char const *> m_module_descrs;
param_descrs m_param_descrs;
dictionary<params_ref *> m_module_params;
params_ref m_params;
@ -83,6 +84,13 @@ public:
}
}
void register_module_descr(char const * module_name, char const * descr) {
#pragma omp critical (gparams)
{
m_module_descrs.insert(symbol(module_name), descr);
}
}
void display(std::ostream & out, unsigned indent, bool smt2_style) {
#pragma omp critical (gparams)
{
@ -92,7 +100,12 @@ public:
dictionary<param_descrs*>::iterator it = m_module_param_descrs.begin();
dictionary<param_descrs*>::iterator end = m_module_param_descrs.end();
for (; it != end; ++it) {
out << "[module] " << it->m_key << "\n";
out << "[module] " << it->m_key;
char const * descr = 0;
if (m_module_descrs.find(it->m_key, descr)) {
out << ", description: " << descr;
}
out << "\n";
it->m_value->display(out, indent + 4, smt2_style);
}
}
@ -337,6 +350,11 @@ void gparams::register_module(char const * module_name, param_descrs * d) {
g_imp->register_module(module_name, d);
}
void gparams::register_module_descr(char const * module_name, char const * descr) {
SASSERT(g_imp != 0);
g_imp->register_module_descr(module_name, descr);
}
params_ref gparams::get_module(char const * module_name) {
return get_module(symbol(module_name));
}

View file

@ -79,6 +79,11 @@ public:
*/
static void register_module(char const * module_name, param_descrs * d);
/**
\brief Add a (small) description to the given module.
*/
static void register_module_descr(char const * module_name, char const * descr);
/**
\brief Retrieves the parameters associated with the given module.