summaryrefslogtreecommitdiffstats
path: root/dimension/parse.h
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@gmail.com>2009-12-21 00:36:12 -0500
committerTavian Barnes <tavianator@gmail.com>2009-12-21 02:32:06 -0500
commit494079ee46d67ae7ef6504734f7400b543c6d848 (patch)
tree9f4ad236fe10ef99b422913edc98d85cf83f99aa /dimension/parse.h
parent0eb3d602df451f882e107ebed47b3bce9a1e68dc (diff)
downloaddimension-494079ee46d67ae7ef6504734f7400b543c6d848.tar.xz
Support #declare, #local, and #undef.
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,