00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00039 #ifndef __NUSMV_CORE_COMPILE_DEPENDENCY_FORMULA_DEPENDENCY_H__
00040 #define __NUSMV_CORE_COMPILE_DEPENDENCY_FORMULA_DEPENDENCY_H__
00041
00042
00043 #include "nusmv/core/node/MasterNodeWalker.h"
00044 #include "nusmv/core/utils/defs.h"
00045 #include "nusmv/core/set/set.h"
00046 #include "nusmv/core/compile/symb_table/SymbTable.h"
00047
00054 typedef struct FormulaDependency_TAG* FormulaDependency_ptr;
00055
00062 #define FORMULA_DEPENDENCY(self) \
00063 ((FormulaDependency_ptr) self)
00064
00070 #define FORMULA_DEPENDENCY_CHECK_INSTANCE(self) \
00071 (nusmv_assert(FORMULA_DEPENDENCY(self) != FORMULA_DEPENDENCY(NULL)))
00072
00073
00074
00077
00078
00079
00080
00089 FormulaDependency_ptr
00090 FormulaDependency_create(const NuSMVEnv_ptr env);
00091
00100 void FormulaDependency_destroy(FormulaDependency_ptr self);
00101
00119 Set_t FormulaDependency_get_dependencies(FormulaDependency_ptr self,
00120 SymbTable_ptr symb_table,
00121 node_ptr formula,
00122 node_ptr context);
00123
00143 Set_t
00144 FormulaDependency_get_dependencies_by_type(FormulaDependency_ptr self,
00145 SymbTable_ptr symb_table,
00146 node_ptr formula, node_ptr context,
00147 SymbFilterType filter,
00148 boolean preserve_time);
00149
00150
00159 Set_t
00160 FormulaDependency_formulae_get_dependencies_by_type(FormulaDependency_ptr,
00161 SymbTable_ptr, node_ptr,
00162 node_ptr, node_ptr,
00163 SymbFilterType, boolean);
00164
00173 Set_t
00174 FormulaDependency_formulae_get_dependencies(FormulaDependency_ptr self,
00175 SymbTable_ptr symb_table,
00176 node_ptr formula,
00177 node_ptr justice,
00178 node_ptr compassion);
00179
00184 #endif