summaryrefslogtreecommitdiff
path: root/comp/lucas-standen-NEA/code/tokenizer
diff options
context:
space:
mode:
Diffstat (limited to 'comp/lucas-standen-NEA/code/tokenizer')
-rw-r--r--comp/lucas-standen-NEA/code/tokenizer/parser.c1
-rw-r--r--comp/lucas-standen-NEA/code/tokenizer/tokenizer.c26
2 files changed, 9 insertions, 18 deletions
diff --git a/comp/lucas-standen-NEA/code/tokenizer/parser.c b/comp/lucas-standen-NEA/code/tokenizer/parser.c
index 69ec458..6ce8c5b 100644
--- a/comp/lucas-standen-NEA/code/tokenizer/parser.c
+++ b/comp/lucas-standen-NEA/code/tokenizer/parser.c
@@ -1,6 +1,7 @@
#include <stdio.h>
#include <stdlib.h>
+#include "../global/types.h"
#include "../global/util.h"
char *ReadFile(char *fileName); // reads the file into a single var
diff --git a/comp/lucas-standen-NEA/code/tokenizer/tokenizer.c b/comp/lucas-standen-NEA/code/tokenizer/tokenizer.c
index a76760b..0c30d36 100644
--- a/comp/lucas-standen-NEA/code/tokenizer/tokenizer.c
+++ b/comp/lucas-standen-NEA/code/tokenizer/tokenizer.c
@@ -141,8 +141,14 @@ ast_node *tokenize(char *input){
}
if (tok[0] != '(' && tok[strlen(tok)-1] != ')' && depth == 0){
if (node->args[argCount] == NULL){
- node->literalArgs[argCount] = malloc(strlen(tok)+1);
- node->literalArgs[argCount] = tok;
+ node->literalArgs[argCount] = CheckedMalloc(sizeof(litteral));
+ if (isNum(tok) != NULL){
+ node->literalArgs[argCount]->i64 = isNum(tok);
+ } else if (isFloat(tok) != NULL){
+ node->literalArgs[argCount]->fl = isFloat(tok);
+ } else if (isChar(tok) != NULL){
+ node->literalArgs[argCount]->ch = isChar(tok);
+ }
}
argCount++;
}
@@ -152,22 +158,6 @@ ast_node *tokenize(char *input){
tok = strtok(NULL, " ");
} while (tok != NULL);
- if (strcmp(function, "set") == 0 || strcmp(function, "let") == 0){
- char *varName;
- char *varType;
- varName = strtok(node->literalArgs[0], ":");
- varType = strtok(NULL, ":");
- if (strcmp(varType, "function") == 0){
- userDefinedFunctions[userFuncCount] = CheckedMalloc(25);
- userDefinedFunctions[userFuncCount] = varName;
- userFuncCount++;
- }else {
- userDefinedVars[userVarCount] = CheckedMalloc(15);
- userDefinedVars[userVarCount] = varName;
- userVarCount++;
- }
- }
-
CheckedFree(exp);
return node;