typedef struct assignment assignment; typedef struct expression expression; typedef struct print print; typedef struct logic logic; typedef struct nodeInfo nodeInfo; nodeInfo *node(int opperation, char opper, char var, int l, int r); nodeInfo *createFunctionCall(char *_name); nodeInfo *createFunction(char *_name, nodeInfo *_stmts); nodeInfo *createFunctionExpression(int lvalue, int rvalue, char opper); nodeInfo *createVarAssignmentString(char *name, char *string); nodeInfo *createVarAssignmentInt(char *name, int number); nodeInfo *createVarAssignmentChar(char *name, char Char); nodeInfo *createVarAssignmentDouble(char *name, double Double); nodeInfo *createPrintVarNode(char *varname); //TODO this doesnt belong here, make another folder/file for print nodeInfo *createPrintStatement(int opperation, int value, char *string); //TODO this doesnt belong here, make another folder/file for logic nodeInfo *createLogic(int opperationm, int expr, nodeInfo *if_true, nodeInfo *else_false); nodeInfo *createCompoundStatement(nodeInfo *n); void ex(nodeInfo *n); int evalExpression(expression *n);