Expression. More...
#include <expression.h>
Data Fields | |
| union { | |
| char * identifier | |
| long int number | |
| struct { | |
| struct expression * left | |
| struct expression * right | |
| } operands | |
| } | content |
| expression_type | type |
Related Functions | |
(Note that these are not member functions.) | |
| expression * | expression_add (expression *a, expression *b) |
| Add two expressions. More... | |
| expression * | expression_alloc (void) |
| Allocate and initialize an expression. More... | |
| expression * | expression_and (expression *a, expression *b) |
| Conjunction of two expressions. More... | |
| void | expression_clean (expression *e) |
| Clean an expression. More... | |
| expression * | expression_copy (const expression *e) |
| Copy an expression. More... | |
| expression * | expression_div (expression *a, expression *b) |
| Divide two expressions. More... | |
| expression * | expression_eq (expression *a, expression *b) |
| Equals. More... | |
| void | expression_fprint (FILE *f, const expression *e) |
| Write an expression to an output stream. More... | |
| void | expression_free (expression *e) |
| Free an expression. More... | |
| expression * | expression_from_boolean (bool boolean) |
| Create an expression from a boolean. More... | |
| expression * | expression_from_identifier (const char *identifier) |
| Create an expression from an identifier. More... | |
| expression * | expression_from_number (long int number) |
| Create an expression from a number. More... | |
| expression * | expression_ge (expression *a, expression *b) |
| Greater or equals. More... | |
| bool | expression_get_boolean (const expression *e) |
| Get an expression's boolean. More... | |
| const char * | expression_get_identifier (const expression *e) |
| Get an expression's identifier. More... | |
| expression * | expression_get_left (const expression *e) |
| Get an expression's left operand. More... | |
| long int | expression_get_number (const expression *e) |
| Get an expression's number. More... | |
| expression * | expression_get_right (const expression *e) |
| Get an expression's right operand. More... | |
| expression_type | expression_get_type (const expression *e) |
| Get an expression's type. More... | |
| expression * | expression_gt (expression *a, expression *b) |
| Greater than. More... | |
| void | expression_init (expression *e) |
| Initialize an expression. More... | |
| bool | expression_is_boolean (const expression *e) |
| Determine whether an expression is a boolean expression. More... | |
| bool | expression_is_false (const expression *e) |
| Determine whether an expression is false. More... | |
| bool | expression_is_identifier (const expression *e) |
| Determine whether an expression is an identifier. More... | |
| bool | expression_is_number (const expression *e) |
| Determine whether an expression is a number expression. More... | |
| bool | expression_is_one (const expression *e) |
| Determine whether an expression is 1. More... | |
| bool | expression_is_true (const expression *e) |
| Determine whether an expression is true. More... | |
| bool | expression_is_zero (const expression *e) |
| Determine whether an expression is 0. More... | |
| expression * | expression_le (expression *a, expression *b) |
| Lower or equals. More... | |
| expression * | expression_lt (expression *a, expression *b) |
| Lower than. More... | |
| expression * | expression_max (expression *a, expression *b) |
| Maximum of two expressions. More... | |
| expression * | expression_min (expression *a, expression *b) |
| Minimum of two expressions. More... | |
| expression * | expression_mult (expression *a, expression *b) |
| Multiply two expressions. More... | |
| expression * | expression_ne (expression *a, expression *b) |
| Differs. More... | |
| expression * | expression_neg (expression *e) |
| Negate an expression. More... | |
| expression * | expression_not (expression *e) |
| Not an expression. More... | |
| expression * | expression_or (expression *a, expression *b) |
| Disjunction of two expressions. More... | |
| void | expression_print (const expression *e) |
| Write an expression to stdout. More... | |
| void | expression_set_boolean (expression *e, bool boolean) |
| Set the boolean value of a boolean expression. More... | |
| void | expression_set_identifier (expression *e, const char *identifier) |
| Set the identifier of an identifier expression. More... | |
| void | expression_set_left_operand (expression *e, expression *left) |
| Set the left operand of a binary expression. More... | |
| void | expression_set_number (expression *e, long int number) |
| Set the value of a number expression. More... | |
| void | expression_set_right_operand (expression *e, expression *right) |
| Set the right operand of a binary expression. More... | |
| void | expression_set_type (expression *e, expression_type t) |
| Set the type of an expression. More... | |
| expression * | expression_sub (expression *a, expression *b) |
| Substract two expressions. More... | |
| char * | expression_to_string (const expression *e) |
| Convert an expression to a string. More... | |
Expression.
1.0.0 | union { ... } expression::content |
The expression's content.
| char* expression::identifier |
The expression's identifier.
| struct expression* expression::left |
The left operand.
| long int expression::number |
The expression's number.
| struct { ... } expression::operands |
The expression's operands.
| struct expression* expression::right |
The right operand.
| expression_type expression::type |
The expression's type.