OpenVAS Libraries  8.0.3
Data Structures | Macros | Typedefs | Enumerations | Functions
nasl_tree.h File Reference

Go to the source code of this file.

Data Structures

struct  TC
 

Macros

#define FAKE_CELL   ((void*)1)
 
#define EXIT_CELL   ((void*)2)
 

Typedefs

typedef struct TC tree_cell
 

Enumerations

enum  node_type {
  NODE_EMPTY = 0, NODE_IF_ELSE, NODE_INSTR_L, NODE_FOR,
  NODE_WHILE, NODE_FOREACH, NODE_REPEAT_UNTIL, NODE_REPEATED,
  NODE_FUN_DEF, NODE_FUN_CALL, NODE_DECL, NODE_ARG,
  NODE_RETURN, NODE_BREAK, NODE_CONTINUE, NODE_ARRAY_EL,
  NODE_AFF, NODE_VAR, NODE_LOCAL, NODE_GLOBAL,
  NODE_PLUS_EQ, NODE_MINUS_EQ, NODE_MULT_EQ, NODE_DIV_EQ,
  NODE_MODULO_EQ, NODE_L_SHIFT_EQ, NODE_R_SHIFT_EQ, NODE_R_USHIFT_EQ,
  EXPR_AND, EXPR_OR, EXPR_NOT, EXPR_PLUS,
  EXPR_MINUS, EXPR_U_MINUS, EXPR_MULT, EXPR_DIV,
  EXPR_MODULO, EXPR_EXPO, EXPR_BIT_AND, EXPR_BIT_OR,
  EXPR_BIT_XOR, EXPR_BIT_NOT, EXPR_INCR, EXPR_DECR,
  EXPR_L_SHIFT, EXPR_R_SHIFT, EXPR_R_USHIFT, COMP_MATCH,
  COMP_NOMATCH, COMP_RE_MATCH, COMP_RE_NOMATCH, COMP_LT,
  COMP_LE, COMP_EQ, COMP_NE, COMP_GT,
  COMP_GE, CONST_INT, CONST_STR, CONST_DATA,
  CONST_REGEX, ARRAY_ELEM, REF_VAR, REF_ARRAY,
  DYN_ARRAY
}
 

Functions

tree_cellalloc_tree_cell (int, char *)
 
tree_cellalloc_expr_cell (int, int, tree_cell *, tree_cell *)
 
tree_cellalloc_RE_cell (int, int, tree_cell *, char *)
 
tree_cellalloc_typed_cell (int)
 
int nasl_is_leaf (const tree_cell *)
 
char * get_line_nb (const tree_cell *)
 
tree_celldup_cell (const tree_cell *)
 
void nasl_dump_tree (const tree_cell *)
 
void ref_cell (tree_cell *)
 
void deref_cell (tree_cell *)
 
const char * nasl_type_name (int)
 
int cell_type (const tree_cell *)
 
char * dump_cell_val (const tree_cell *)
 

Macro Definition Documentation

#define EXIT_CELL   ((void*)2)
#define FAKE_CELL   ((void*)1)

Typedef Documentation

typedef struct TC tree_cell

Enumeration Type Documentation

enum node_type
Enumerator
NODE_EMPTY 
NODE_IF_ELSE 
NODE_INSTR_L 
NODE_FOR 
NODE_WHILE 
NODE_FOREACH 
NODE_REPEAT_UNTIL 
NODE_REPEATED 
NODE_FUN_DEF 
NODE_FUN_CALL 
NODE_DECL 
NODE_ARG 
NODE_RETURN 
NODE_BREAK 
NODE_CONTINUE 
NODE_ARRAY_EL 
NODE_AFF 
NODE_VAR 
NODE_LOCAL 
NODE_GLOBAL 
NODE_PLUS_EQ 
NODE_MINUS_EQ 
NODE_MULT_EQ 
NODE_DIV_EQ 
NODE_MODULO_EQ 
NODE_L_SHIFT_EQ 
NODE_R_SHIFT_EQ 
NODE_R_USHIFT_EQ 
EXPR_AND 
EXPR_OR 
EXPR_NOT 
EXPR_PLUS 
EXPR_MINUS 
EXPR_U_MINUS 
EXPR_MULT 
EXPR_DIV 
EXPR_MODULO 
EXPR_EXPO 
EXPR_BIT_AND 
EXPR_BIT_OR 
EXPR_BIT_XOR 
EXPR_BIT_NOT 
EXPR_INCR 
EXPR_DECR 
EXPR_L_SHIFT 
EXPR_R_SHIFT 
EXPR_R_USHIFT 
COMP_MATCH 
COMP_NOMATCH 
COMP_RE_MATCH 
COMP_RE_NOMATCH 
COMP_LT 
COMP_LE 
COMP_EQ 
COMP_NE 
COMP_GT 
COMP_GE 
CONST_INT 
CONST_STR 
CONST_DATA 
CONST_REGEX 
ARRAY_ELEM 
REF_VAR 
REF_ARRAY 
DYN_ARRAY 

Function Documentation

tree_cell* alloc_expr_cell ( int  ,
int  ,
tree_cell ,
tree_cell  
)
tree_cell* alloc_RE_cell ( int  ,
int  ,
tree_cell ,
char *   
)
tree_cell* alloc_tree_cell ( int  ,
char *   
)
tree_cell* alloc_typed_cell ( int  )
int cell_type ( const tree_cell )
void deref_cell ( tree_cell )
char* dump_cell_val ( const tree_cell )
tree_cell* dup_cell ( const tree_cell )
char* get_line_nb ( const tree_cell )
void nasl_dump_tree ( const tree_cell )
int nasl_is_leaf ( const tree_cell )
const char* nasl_type_name ( int  )
void ref_cell ( tree_cell )