27 lines
371 B
C
27 lines
371 B
C
#ifndef SYNTAX_H
|
|
#define SYNTAX_H
|
|
|
|
typedef float num_t;
|
|
typedef char* atom_t;
|
|
typedef char* string_t;
|
|
typedef struct expr_t expr_t;
|
|
typedef struct binop_t binop_t;
|
|
|
|
struct expr_t {
|
|
int type;
|
|
union {
|
|
atom_t id;
|
|
num_t num;
|
|
string_t string;
|
|
binop_t *binop;
|
|
};
|
|
};
|
|
|
|
struct binop_t {
|
|
expr_t *first;
|
|
expr_t *second;
|
|
int op;
|
|
};
|
|
|
|
#endif /* SYNTAX_H */
|