3 #include "param_types.h"
5 #define CONST_STACK_ELEMENT 0
6 #define EXPR_STACK_ELEMENT 1
8 /* General Expression Type */
9 typedef struct GEN_EXPR_T {
14 typedef union TERM_T {
15 double constant; /* static variable */
16 struct PARAM_T * param; /* pointer to a changing variable */
19 /* Value expression, contains a term union */
20 typedef struct VAL_EXPR_T {
25 /* Infix Operator Function */
26 typedef struct INFIX_OP_T {
31 /* A binary expression tree ordered by operator precedence */
32 typedef struct TREE_EXPR_T {
33 infix_op_t * infix_op; /* null if leaf */
34 gen_expr_t * gen_expr;
35 struct TREE_EXPR_T * left, * right;
38 /* A function expression in prefix form */
39 typedef struct PREFUN_EXPR_T {
42 gen_expr_t ** expr_list;