Data Structures | |
struct | operand_s |
struct | sblock_s |
struct | statement_s |
struct | tempop_t |
Typedefs | |
typedef struct operand_s | operand_t |
typedef struct sblock_s | sblock_t |
typedef struct statement_s | statement_t |
Enumerations | |
enum | op_type_e { op_def, op_value, op_label, op_temp, op_alias } |
enum | st_type_t { st_none, st_expr, st_assign, st_ptrassign, st_move, st_state, st_func, st_flow } |
Overall type of statement. More... | |
typedef struct statement_s statement_t |
enum op_type_e |
enum st_type_t |
Overall type of statement.
Statement types are broken down into expressions (binary and unary, includes address and pointer dereferencing (read)), assignment, pointer assignment (write to dereference pointer), move (special case of pointer assignment), state, function related (call, rcall, return and done), and flow control (conditional branches, goto, jump (single pointer and jump table)).
void dump_dot_sblock | ( | void * | data, |
const char * | fname | ||
) |
void free_operand | ( | operand_t * | op | ) |
sblock_t* new_sblock | ( | void | ) |
statement_t* new_statement | ( | st_type_t | type, |
const char * | opcode, | ||
struct expr_s * | expr | ||
) |
void print_statement | ( | statement_t * | s | ) |
void sblock_add_statement | ( | sblock_t * | sblock, |
statement_t * | statement | ||
) |
sblock_t* statement_get_target | ( | statement_t * | s | ) |
sblock_t** statement_get_targetlist | ( | statement_t * | s | ) |
int statement_is_call | ( | statement_t * | s | ) |
int statement_is_cond | ( | statement_t * | s | ) |
int statement_is_goto | ( | statement_t * | s | ) |
int statement_is_jumpb | ( | statement_t * | s | ) |
int statement_is_return | ( | statement_t * | s | ) |
void statements_count_temps | ( | sblock_t * | sblock | ) |
operand_t* value_operand | ( | struct ex_value_s * | value | ) |