diff options
author | Tavian Barnes <tavianator@gmail.com> | 2009-12-21 00:36:12 -0500 |
---|---|---|
committer | Tavian Barnes <tavianator@gmail.com> | 2009-12-21 02:32:06 -0500 |
commit | 494079ee46d67ae7ef6504734f7400b543c6d848 (patch) | |
tree | 9f4ad236fe10ef99b422913edc98d85cf83f99aa /dimension/parse.h | |
parent | 0eb3d602df451f882e107ebed47b3bce9a1e68dc (diff) | |
download | dimension-494079ee46d67ae7ef6504734f7400b543c6d848.tar.xz |
Support #declare, #local, and #undef.
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, |