| #ifndef PARSE_CTX_H |
| #define PARSE_CTX_H 1 |
| |
| #define EXPR_MAX_OTHER 8 |
| #define MAX_PARSE_ID EXPR_MAX_OTHER |
| |
| struct parse_id { |
| const char *name; |
| double val; |
| }; |
| |
| struct parse_ctx { |
| int num_ids; |
| struct parse_id ids[MAX_PARSE_ID]; |
| }; |
| |
| void expr__ctx_init(struct parse_ctx *ctx); |
| void expr__add_id(struct parse_ctx *ctx, const char *id, double val); |
| #ifndef IN_EXPR_Y |
| int expr__parse(double *final_val, struct parse_ctx *ctx, const char **pp); |
| #endif |
| int expr__find_other(const char *p, const char *one, const char ***other, |
| int *num_other); |
| |
| #endif |