15#include <ecoli/node.h>
int ec_node_expr_add_post_op(struct ec_node *gen_node, struct ec_node *op)
int ec_node_expr_eval(void **result, const struct ec_node *node, struct ec_pnode *parse, const struct ec_node_expr_eval_ops *ops, void *userctx)
int ec_node_expr_add_bin_op(struct ec_node *gen_node, struct ec_node *op)
int(* ec_node_expr_eval_pre_op_t)(void **result, void *userctx, void *operand, const struct ec_pnode *operator)
int(* ec_node_expr_eval_bin_op_t)(void **result, void *userctx, void *operand1, const struct ec_pnode *operator, void *operand2)
void(* ec_node_expr_eval_free_t)(void *result, void *userctx)
int ec_node_expr_add_pre_op(struct ec_node *gen_node, struct ec_node *op)
int ec_node_expr_add_parenthesis(struct ec_node *gen_node, struct ec_node *open, struct ec_node *close)
int(* ec_node_expr_eval_var_t)(void **result, void *userctx, const struct ec_pnode *var)
int(* ec_node_expr_eval_post_op_t)(void **result, void *userctx, void *operand, const struct ec_pnode *operator)
struct ec_node * ec_node_expr(const char *id)
int ec_node_expr_set_val_node(struct ec_node *gen_node, struct ec_node *val_node)
int(* ec_node_expr_eval_parenthesis_t)(void **result, void *userctx, const struct ec_pnode *open_paren, const struct ec_pnode *close_paren, void *value)
struct ec_node * ec_node(const char *typename, const char *id)
struct ec_pnode * ec_pnode(const struct ec_node *node)