NuSMV/code/nusmv/core/compile/symb_table/SymbLayer.h File Reference

#include "nusmv/core/compile/symb_table/SymbType.h"
#include "nusmv/core/utils/utils.h"
#include "nusmv/core/utils/NodeList.h"
#include "nusmv/core/node/node.h"
#include "nusmv/core/compile/symb_table/NFunction.h"
#include "nusmv/core/set/set.h"

Go to the source code of this file.

Data Structures

struct  SymbLayerIter

Defines

#define SYMB_LAYER(x)   ((SymbLayer_ptr) x)
#define SYMB_LAYER_CHECK_INSTANCE(x)   (nusmv_assert(SYMB_LAYER(x) != SYMB_LAYER(NULL)))
#define SYMB_LAYER_FOREACH(self, iter, mask)
#define SYMB_LAYER_FOREACH_FILTER(self, iter, mask, filter, arg)

Typedefs

typedef struct SymbLayer_TAG * SymbLayer_ptr
typedef boolean(* SymbLayerIterFilterFun )(const SymbLayer_ptr layer, const node_ptr sym, void *arg)

Enumerations

enum  LayerInsertPolicy {
  SYMB_LAYER_POS_DEFAULT, SYMB_LAYER_POS_FORCE_TOP, SYMB_LAYER_POS_TOP, SYMB_LAYER_POS_BOTTOM,
  SYMB_LAYER_POS_FORCE_BOTTOM
}
 

To be used as a policy when a layer is pushed in the layers stack of a SymbTable.

More...

Functions

void SymbLayer_iter_set_filter (const SymbLayer_ptr layer, SymbLayerIter *iter, SymbLayerIterFilterFun fun, void *arg)
 Sets the filter for an interator over the Symbol Layer symbols.

Define Documentation

#define SYMB_LAYER (  )     ((SymbLayer_ptr) x)
Todo:
Missing synopsis
Todo:
Missing description
#define SYMB_LAYER_CHECK_INSTANCE (  )     (nusmv_assert(SYMB_LAYER(x) != SYMB_LAYER(NULL)))
Todo:
Missing synopsis
Todo:
Missing description
#define SYMB_LAYER_FOREACH ( self,
iter,
mask   ) 
Value:
for (SymbLayer_gen_iter(self, &iter, mask);            \
       !SymbLayer_iter_is_end(self, &iter);              \
       SymbLayer_iter_next(self, &iter))
Todo:
Missing synopsis
Todo:
Missing description
#define SYMB_LAYER_FOREACH_FILTER ( self,
iter,
mask,
filter,
arg   ) 
Value:
for (SymbLayer_gen_iter(self, &iter, mask),                           \
         SymbLayer_iter_set_filter(self, &iter, filter, arg);           \
       !SymbLayer_iter_is_end(self, &iter);                             \
       SymbLayer_iter_next(self, &iter))
Todo:
Missing synopsis
Todo:
Missing description

Typedef Documentation

typedef struct SymbLayer_TAG* SymbLayer_ptr
typedef boolean(* SymbLayerIterFilterFun)(const SymbLayer_ptr layer, const node_ptr sym, void *arg)
Todo:
Missing synopsis
Todo:
Missing description

Enumeration Type Documentation

To be used as a policy when a layer is pushed in the layers stack of a SymbTable.

WHen a layer is pushed within a symbol table, it will be inserted according to an insertion order that will change the order the symbols occuring within the layer are encoded in the encodings. The default behaviour is to push the layer on the top of the stack.

Forced positions (SYMB_LAYER_POS_FORCE_*) make the layer to stay always at that position. Only one layer can be added to a symbol table with the same forced postion at a given time, i.e. two or more layers are not allowed to have the same forced position into the same symbol table.

Enumerator:
SYMB_LAYER_POS_DEFAULT 
SYMB_LAYER_POS_FORCE_TOP 
SYMB_LAYER_POS_TOP 
SYMB_LAYER_POS_BOTTOM 
SYMB_LAYER_POS_FORCE_BOTTOM 

Function Documentation

void SymbLayer_iter_set_filter ( const SymbLayer_ptr  layer,
SymbLayerIter iter,
SymbLayerIterFilterFun  fun,
void *  arg 
)

Sets the filter for an interator over the Symbol Layer symbols.

Sets the filter for an interator over the Symbol Layer symbols. The iterator will be moved in order to point to a symbol that satisfies both the mask and the filter

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines

Generated on 14 Oct 2015 for NuSMV Developers Manual by  doxygen 1.6.1