summaryrefslogtreecommitdiffstats
path: root/dimension/parse.h
diff options
context:
space:
mode:
Diffstat (limited to 'dimension/parse.h')
-rw-r--r--dimension/parse.h11
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,