aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/LuaSL/src/LuaSL_LSL_tree.c
diff options
context:
space:
mode:
authorDavid Walter Seikel2012-01-08 09:01:44 +1000
committerDavid Walter Seikel2012-01-08 09:01:44 +1000
commit0306182b9bcafa7f850dd91aa196ae7d562d2254 (patch)
treec815ac4506e27ed285a67d5ca1f936f40b90b9b6 /LuaSL/src/LuaSL_LSL_tree.c
parentParenthesis and statement parsing. (diff)
downloadSledjHamr-0306182b9bcafa7f850dd91aa196ae7d562d2254.zip
SledjHamr-0306182b9bcafa7f850dd91aa196ae7d562d2254.tar.gz
SledjHamr-0306182b9bcafa7f850dd91aa196ae7d562d2254.tar.bz2
SledjHamr-0306182b9bcafa7f850dd91aa196ae7d562d2254.tar.xz
Use character classes, some clean up. Tried to add space storing, but it did not work.
Diffstat (limited to 'LuaSL/src/LuaSL_LSL_tree.c')
-rw-r--r--LuaSL/src/LuaSL_LSL_tree.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/LuaSL/src/LuaSL_LSL_tree.c b/LuaSL/src/LuaSL_LSL_tree.c
index c3f2a49..cc9007c 100644
--- a/LuaSL/src/LuaSL_LSL_tree.c
+++ b/LuaSL/src/LuaSL_LSL_tree.c
@@ -69,7 +69,7 @@ LSL_Token LSL_Tokens[] =
69 69
70 // Then the rest of the syntax tokens. 70 // Then the rest of the syntax tokens.
71 71
72// {LSL_SPACE, " ", LSL_NONE, NULL, NULL, NULL}, 72 {LSL_SPACE, " ", LSL_NONE, NULL, NULL, NULL},
73// {LSL_COMMENT_LINE, "//", LSL_NONE, NULL, NULL, NULL}, 73// {LSL_COMMENT_LINE, "//", LSL_NONE, NULL, NULL, NULL},
74// {LSL_COMMENT, "/*", LSL_NONE, NULL, NULL, NULL}, 74// {LSL_COMMENT, "/*", LSL_NONE, NULL, NULL, NULL},
75// {LSL_TYPE, "type", LSL_NONE, NULL, NULL, NULL}, 75// {LSL_TYPE, "type", LSL_NONE, NULL, NULL, NULL},
@@ -142,7 +142,7 @@ LSL_AST *addInteger(int value)
142 return ast; 142 return ast;
143} 143}
144 144
145LSL_AST *addOperation(LSL_Operation type, LSL_AST *left, LSL_AST *right) 145LSL_AST *addOperation(LSL_Type type, LSL_AST *left, LSL_AST *right)
146{ 146{
147 LSL_AST *ast = newAST(type, left, right); 147 LSL_AST *ast = newAST(type, left, right);
148 148
@@ -182,11 +182,22 @@ LSL_Statement *createStatement(LSL_Type type, LSL_AST *expr)
182 return stat; 182 return stat;
183} 183}
184 184
185LSL_AST *addSpace(char *text, LSL_AST *root)
186{
187 LSL_AST *ast = newAST(LSL_SPACE, root, NULL);
188
189 if (ast)
190 ast->content.spaceValue = text;
191
192 return ast;
193}
194
185LSL_AST *addStatement(LSL_Statement *statement, LSL_AST *root) 195LSL_AST *addStatement(LSL_Statement *statement, LSL_AST *root)
186{ 196{
187 LSL_AST *ast = newAST(LSL_STATEMENT, root, NULL); 197 LSL_AST *ast = newAST(LSL_STATEMENT, root, NULL);
188 198
189 ast->content.statementValue = statement; 199 if (ast)
200 ast->content.statementValue = statement;
190 201
191 return ast; 202 return ast;
192} 203}