|
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.