#include "nusmv/core/compile/symb_table/SymbLayer.h"#include "nusmv/core/compile/symb_table/SymbCache.h"#include "nusmv/core/cinit/NuSMVEnv.h"#include "nusmv/core/compile/type_checking/TypeChecker.h"#include "nusmv/core/utils/utils.h"#include "nusmv/core/utils/array.h"#include "nusmv/core/utils/assoc.h"#include "nusmv/core/node/node.h"#include "nusmv/core/compile/symb_table/NFunction.h"#include "nusmv/core/set/set.h"#include "nusmv/core/compile/symb_table/ResolveSymbol.h"#include "nusmv/core/utils/UStringMgr.h"#include "nusmv/core/utils/Pair.h"#include "nusmv/core/node/anonymizers/NodeAnonymizerBase.h"Go to the source code of this file.
Data Structures | |
| struct | SymbTableIter |
Defines | |
| #define | SYMB_TABLE(x) ((SymbTable_ptr) x) |
| #define | SYMB_TABLE_CHECK_INSTANCE(x) (nusmv_assert(SYMB_TABLE(x) != SYMB_TABLE(NULL))) |
| #define | SYMB_TABLE_FOREACH(self, iter, mask) |
| #define | SYMB_TABLE_FOREACH_FILTER(self, iter, mask, filter, arg) |
Typedefs | |
| typedef struct SymbTable_TAG * | SymbTable_ptr |
| typedef void(* | SymbTableForeachFun )(const SymbTable_ptr, const node_ptr sym, void *arg) |
| typedef boolean(* | SymbTableIterFilterFun )(const SymbTable_ptr table, const node_ptr sym, void *arg) |
| typedef void(* | SymbTableTriggerFun )(const SymbTable_ptr table, const node_ptr sym, SymbTableTriggerAction action, void *arg) |
| Trigger called by the symbol table when a symbol change status. | |
Enumerations | |
| enum | SymbCategory { SYMBOL_INVALID = 0, SYMBOL_CONSTANT, SYMBOL_FROZEN_VAR, SYMBOL_STATE_VAR, SYMBOL_INPUT_VAR, SYMBOL_STATE_DEFINE, SYMBOL_INPUT_DEFINE, SYMBOL_STATE_INPUT_DEFINE, SYMBOL_NEXT_DEFINE, SYMBOL_STATE_NEXT_DEFINE, SYMBOL_INPUT_NEXT_DEFINE, SYMBOL_STATE_INPUT_NEXT_DEFINE, SYMBOL_DEFINE, SYMBOL_FUNCTION, SYMBOL_PARAMETER, SYMBOL_ARRAY_DEFINE, SYMBOL_VARIABLE_ARRAY } |
Describes the kind of symbol. More... | |
| enum | SymbFilterType { VFT_CURRENT = 1, VFT_NEXT = VFT_CURRENT << 1, VFT_INPUT = VFT_CURRENT << 2, VFT_FROZEN = VFT_CURRENT << 3, VFT_DEFINE = VFT_CURRENT << 4, VFT_FUNCTION = VFT_CURRENT << 5, VFT_CONSTANTS = VFT_CURRENT << 6, VFT_STATE = (VFT_CURRENT | VFT_NEXT), VFT_CURR_INPUT = (VFT_CURRENT | VFT_INPUT), VFT_CURR_FROZEN = (VFT_CURRENT | VFT_FROZEN), VFT_CNIF, VFT_CNIFD = (VFT_CNIF | VFT_DEFINE), VFT_ALL = (VFT_CNIFD | VFT_FUNCTION | VFT_CONSTANTS) } |
Controls the filter type in some search dependencies routines. More... | |
| enum | SymbTableTriggerAction { ST_TRIGGER_SYMBOL_ADD, ST_TRIGGER_SYMBOL_REMOVE, ST_TRIGGER_SYMBOL_REDECLARE } |
| enum | SymbTableType { STT_NONE = 0, STT_CONSTANT = 1, STT_STATE_VAR = STT_CONSTANT << 1, STT_INPUT_VAR = STT_CONSTANT << 2, STT_FROZEN_VAR = STT_CONSTANT << 3, STT_VAR, STT_DEFINE = STT_CONSTANT << 4, STT_ARRAY_DEFINE = STT_CONSTANT << 5, STT_PARAMETER = STT_CONSTANT << 6, STT_FUNCTION = STT_CONSTANT << 7, STT_VARIABLE_ARRAY = STT_CONSTANT << 8, STT_ALL } |
Functions | |
| void | SymbTable_clear_handled_remove_action_hash (const SymbTable_ptr st, const node_ptr sym, SymbTableTriggerAction action, void *arg) |
| This function can be used with SymbTable_get_handled_hash_ptr for the parameter remove_action. | |
| #define SYMB_TABLE | ( | x | ) | ((SymbTable_ptr) x) |
| #define SYMB_TABLE_CHECK_INSTANCE | ( | x | ) | (nusmv_assert(SYMB_TABLE(x) != SYMB_TABLE(NULL))) |
| #define SYMB_TABLE_FOREACH | ( | self, | |||
| iter, | |||||
| mask | ) |
| #define SYMB_TABLE_FOREACH_FILTER | ( | self, | |||
| iter, | |||||
| mask, | |||||
| filter, | |||||
| arg | ) |
| typedef struct SymbTable_TAG* SymbTable_ptr |
| typedef void(* SymbTableForeachFun)(const SymbTable_ptr, const node_ptr sym, void *arg) |
| typedef boolean(* SymbTableIterFilterFun)(const SymbTable_ptr table, const node_ptr sym, void *arg) |
| typedef void(* SymbTableTriggerFun)(const SymbTable_ptr table, const node_ptr sym, SymbTableTriggerAction action, void *arg) |
Trigger called by the symbol table when a symbol change status.
| enum SymbCategory |
Describes the kind of symbol.
| enum SymbFilterType |
Controls the filter type in some search dependencies routines.
Controls the filter type in some search dependencies routines. The available filters are:
VFT_CURRENT VFT_NEXT VFT_INPUT VFT_FROZEN VFT_DEFINE VFT_FUNCTION VFT_STATE VFT_CURR_INPUT VFT_CURR_FROZEN VFT_CNIF VFT_CNIFD VFT_ALL Combined modes can be obtained by bit-or: for example VFT_NEXT | VFT_INPUT is going to search for the variables which are next or input variables
| enum SymbTableType |
| void SymbTable_clear_handled_remove_action_hash | ( | const SymbTable_ptr | st, | |
| const node_ptr | sym, | |||
| SymbTableTriggerAction | action, | |||
| void * | arg | |||
| ) |
This function can be used with SymbTable_get_handled_hash_ptr for the parameter remove_action.
arg is an AssocAndDestroy_ptr. The type of this function is SymbTableTriggerFun
1.6.1