diff options
Diffstat (limited to 'dimension/parse.h')
-rw-r--r-- | dimension/parse.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/dimension/parse.h b/dimension/parse.h index 6f5b981..e4772e1 100644 --- a/dimension/parse.h +++ b/dimension/parse.h @@ -60,12 +60,20 @@ typedef enum { DMNSN_AST_VECTOR, - DMNSN_AST_NEGATE, DMNSN_AST_ADD, DMNSN_AST_SUB, DMNSN_AST_MUL, DMNSN_AST_DIV, + DMNSN_AST_NEGATE, + DMNSN_AST_DOT_X, + DMNSN_AST_DOT_Y, + DMNSN_AST_DOT_Z, + DMNSN_AST_DOT_T, + DMNSN_AST_DOT_TRANSMIT, + + DMNSN_AST_IDENTIFIER, + DMNSN_AST_STRING, } dmnsn_astnode_type; @@ -124,6 +132,7 @@ void dmnsn_undef_symbol(dmnsn_symbol_table *symtable, const char *id); dmnsn_astnode *dmnsn_find_symbol(dmnsn_symbol_table *symtable, const char *id); /* Evaluate an arithmetic expression */ +dmnsn_astnode dmnsn_eval(dmnsn_astnode astnode, dmnsn_symbol_table *symtable); dmnsn_astnode dmnsn_eval_scalar(dmnsn_astnode astnode, dmnsn_symbol_table *symtable); dmnsn_astnode dmnsn_eval_vector(dmnsn_astnode astnode, |