coan 4.2.4
|
Go to the source code of this file.
Data Structures | |
struct | eval_result |
Defines | |
#define | EVAL_RESULT_INITOR {0,0,0,INT_SPEC_INITOR,EVAL_PENDING,0} |
#define | SET_FLAGS(eval_result, bits) ((eval_result).flags |= (bits)) |
#define | SET_FLAGS_IF(cond, eval_result, bits) (void)((cond) ? SET_FLAGS(eval_result,bits) : 0) |
#define | CLEAR_FLAGS(eval_result, bits) ((eval_result).flags &= ~(bits)) |
#define | CLEAR_FLAGS_IF(cond, eval_result, bits) (void)((cond) ? CLEAR_FLAGS(eval_result,bits) : 0) |
#define | FLIP_FLAGS(eval_result, bits) ((eval_result).flags ^= (bits)) |
#define | FLAGS_IN(eval_result, bits) ((eval_result).flags & (bits)) |
#define | AFFIRM_FLAGS(eval_result, bits) (((eval_result).flags & (bits)) == (bits)) |
#define | DENY_FLAGS(eval_result, bits) (((eval_result).flags & (bits)) == 0) |
#define | IS_TRUE(eval_result) AFFIRM_FLAGS(eval_result,EVAL_TRUE) |
#define | IS_FALSE(eval_result) AFFIRM_FLAGS(eval_result,EVAL_FALSE) |
#define | IS_CONST(eval_result) AFFIRM_FLAGS(eval_result,EVAL_CONST) |
#define | INT_WIDTH(eval_result) ((eval_result).value.width) |
#define | UNRESOLVED(eval_result) DENY_FLAGS(eval_result,EVAL_FALSE | EVAL_TRUE) |
#define | RESOLVED(eval_result) !UNRESOLVED(eval_result) |
#define | SET_REPORTED(eval_result) SET_FLAGS(eval_result,EVAL_REPORTED_SYM) |
#define | REPORTED(eval_result) AFFIRM_FLAGS(eval_result,EVAL_REPORTED_SYM) |
#define | DEL_PAREN(eval_result) AFFIRM_FLAGS(eval_result,EVAL_DEL_PAREN) |
#define | SET_DEL_PAREN(eval_result) SET_FLAGS(eval_result,EVAL_DEL_PAREN) |
#define | SET_KEEP_PAREN(eval_result) CLEAR_FLAGS(eval_result,EVAL_DEL_PAREN) |
#define | KEEP(eval_result) AFFIRM_FLAGS(eval_result,EVAL_KEEP) |
#define | SET_KEEP(eval_result) SET_FLAGS(eval_result,EVAL_KEEP) |
#define | KEEP_CONST(eval_result) AFFIRM_FLAGS(eval_result,EVAL_KEEP_CONST) |
#define | SET_KEEP_CONST(eval_result) SET_FLAGS(eval_result,EVAL_KEEP_CONST) |
#define | SET_CONST(eval_result) SET_FLAGS(eval_result,EVAL_CONST) |
#define | SET_ILLEGAL(eval_result) SET_FLAGS(eval_result,EVAL_ILLEGAL) |
#define | SET_LEGAL(eval_result) CLEAR_FLAGS(eval_result,EVAL_ILLEGAL) |
#define | ILLEGAL(eval_result) AFFIRM_FLAGS(eval_result,EVAL_ILLEGAL) |
#define | LEGAL(eval_result) !ILLEGAL(eval_result) |
#define | SET_UNRESOLVED(eval_result) CLEAR_FLAGS(eval_result,EVAL_TRUE | EVAL_FALSE) |
#define | SET_INSOURCE_SYM(eval_result) SET_FLAGS(eval_result,EVAL_INSOURCE_SYM) |
#define | INSOURCE_SYM(eval_result) AFFIRM_FLAGS(eval_result,EVAL_INSOURCE_SYM) |
#define | SET_GLOBAL_SYM(eval_result) SET_FLAGS(eval_result,EVAL_GLOBAL_SYM) |
#define | GLOBAL_SYM(eval_result) AFFIRM_FLAGS(eval_result,EVAL_GLOBAL_SYM) |
Typedefs | |
typedef struct eval_result | eval_result_t |
Enumerations | |
enum | eval_flags { EVAL_PENDING, EVAL_CONST = 1, EVAL_KEEP = 2, EVAL_KEEP_CONST = EVAL_CONST | EVAL_KEEP, EVAL_DEL_PAREN = 4, EVAL_TRUE = 8, EVAL_FALSE = 16, EVAL_ILLEGAL = 32, EVAL_INSOURCE_SYM = 64, EVAL_GLOBAL_SYM = 128, EVAL_REPORTED_SYM = 256, EVAL_RESOLVED = EVAL_TRUE | EVAL_FALSE, EVAL_PARSED = EVAL_RESOLVED | EVAL_KEEP } |
enum | line_type_t { LT_IF, LT_TRUE, LT_FALSE, LT_ELIF, LT_ELTRUE, LT_ELFALSE, LT_ELSE, LT_ENDIF, LT_PLAIN, LT_EOF, LT_DIRECTIVE_DROP, LT_DIRECTIVE_KEEP, LT_SENTINEL } |
Functions | |
void | eval_result_set_value (eval_result_t *result, int_spec_t const *int_spec) |
void | eval_result_clear (eval_result_t *result) |
bool | eval_result_parsed (eval_result_t *result) |
Variables | |
int_spec_t const | int_spec_false |
int_spec_t const | int_spec_true |
This file defines a structure to represent the result of evaluating an expression, and symbolic constants to represent attributes of such results.
Definition in file eval_result.h.