7 #ifndef EXPRESSION_H_INCLUDED 8 #define EXPRESSION_H_INCLUDED 19 #define EXP_BUF_SIZE 256 114 #endif // EXPRESSION_H_INCLUDED expression_t left
Left sub-expression.
Definition: expression.h:35
A named symbol type.
Definition: symbolic.h:28
expression_t expression_new(void)
New blank expression.
Definition: expression.c:27
void expression_to_string(char *dst_str, expression_t src_exp)
Expression to String.
Definition: expression.c:133
char op
The joining operation of the two two sub expressions.
Definition: expression.h:34
An expression over an operation and sub-expression.
Definition: expression.h:51
expression_t expression_new_tree(char op, expression_t left, expression_t right)
Definition: expression.c:42
Contains a simple numeric values and undefines.
Definition: expression.h:50
void expression_free(expression_t exp)
Free an expression.
Definition: expression.c:66
Expression data container for the expanded expression.
Definition: expression.h:30
sym_t sym
Data for EXP_SYMBOLIC type.
Definition: expression.h:61
expression_t right
Right sub-expression.
Definition: expression.h:36
The stored representation of mathematical expressions.
Definition: expression.h:72
expression_type
Expression types.
Definition: expression.h:48
expression_t expression_new_sym(sym_t sym)
Definition: expression.c:55
value_t expression_evaluate(expression_t exp)
Definition: expression.c:88
Represents a numeric value or an error.
Definition: types.h:64
value_t val
Value for EXP_VALUE type.
Definition: expression.h:59
Symbolic named references.
Definition: expression.h:52
#define EXP_BUF_SIZE
Definition: expression.h:19
expression_t string_to_expression(size_t str_len, char const *str)
Convert String to an Expression.
Definition: expression.c:215
expression_t expression_new_value(value_t val)
Definition: expression.c:34
Expression data container.
Definition: expression.h:58
char exp_buf[EXP_BUF_SIZE]
Definition: expression.h:20