diff options
author | David Walter Seikel | 2012-01-07 19:03:16 +1000 |
---|---|---|
committer | David Walter Seikel | 2012-01-07 19:03:16 +1000 |
commit | 896b92c3564a572da103fb50f5bc3fa347983196 (patch) | |
tree | fdf41f81e37c64f39e89fded029f5422821d3358 /LuaSL/src/LuaSL_LSL_tree.h | |
parent | Make the parser more generic with function pointers and a big arse table. (diff) | |
download | SledjHamr-896b92c3564a572da103fb50f5bc3fa347983196.zip SledjHamr-896b92c3564a572da103fb50f5bc3fa347983196.tar.gz SledjHamr-896b92c3564a572da103fb50f5bc3fa347983196.tar.bz2 SledjHamr-896b92c3564a572da103fb50f5bc3fa347983196.tar.xz |
Evaluate expressions using the new token table.
Diffstat (limited to 'LuaSL/src/LuaSL_LSL_tree.h')
-rw-r--r-- | LuaSL/src/LuaSL_LSL_tree.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/LuaSL/src/LuaSL_LSL_tree.h b/LuaSL/src/LuaSL_LSL_tree.h index 1c6710d..0d49737 100644 --- a/LuaSL/src/LuaSL_LSL_tree.h +++ b/LuaSL/src/LuaSL_LSL_tree.h | |||
@@ -182,9 +182,15 @@ typedef union LSL_Leaf | |||
182 | LSL_Script *scriptValue; | 182 | LSL_Script *scriptValue; |
183 | } LSL_Leaf; | 183 | } LSL_Leaf; |
184 | 184 | ||
185 | typedef struct | ||
186 | { | ||
187 | LSL_Type type; | ||
188 | LSL_Leaf content; | ||
189 | } LSL_Value; | ||
190 | |||
185 | typedef void (*convertToken2Lua) (LSL_Leaf *content); | 191 | typedef void (*convertToken2Lua) (LSL_Leaf *content); |
186 | typedef void (*outputToken) (LSL_Leaf *content); | 192 | typedef void (*outputToken) (LSL_Leaf *content); |
187 | typedef LSL_Leaf *(*evaluateToken) (LSL_Leaf *content, LSL_Type oldType, LSL_Leaf *old); | 193 | typedef void (*evaluateToken) (LSL_Leaf *content, LSL_Value *result); |
188 | 194 | ||
189 | typedef struct | 195 | typedef struct |
190 | { | 196 | { |
@@ -208,7 +214,6 @@ typedef struct LSL_Expression | |||
208 | struct LSL_Expression *left; | 214 | struct LSL_Expression *left; |
209 | struct LSL_Expression *right; | 215 | struct LSL_Expression *right; |
210 | LSL_Token *token; | 216 | LSL_Token *token; |
211 | LSL_Type type; | ||
212 | LSL_Leaf content; | 217 | LSL_Leaf content; |
213 | } LSL_Expression; | 218 | } LSL_Expression; |
214 | 219 | ||
@@ -219,7 +224,6 @@ typedef struct LSL_AST | |||
219 | int line; | 224 | int line; |
220 | int character; | 225 | int character; |
221 | LSL_Token *token; | 226 | LSL_Token *token; |
222 | LSL_Type type; | ||
223 | LSL_Leaf content; | 227 | LSL_Leaf content; |
224 | } LSL_AST; | 228 | } LSL_AST; |
225 | 229 | ||