This commit is contained in:
attilavs2 2025-03-05 18:03:31 +01:00
parent 5f2511e0f2
commit 883f7dad9c

View file

@ -22,13 +22,25 @@ i32 parenth_stack[256];
i32 parenth_d; i32 parenth_d;
// Does the final transformation -> recursion end // Does the final transformation -> recursion end
int parse_statement_final(StatementStack *stack, Statement *parent, char *str){ int parse_statement_final(ASTStack *stack){
} }
// Recursively extracts statements // Recursively extracts statements
int parse_statement(StatementStack *stack, Statement *parent, char *str){ int parse_statement(ASTStack *stack){
i32 curr = stack->curr_statement;
char **curr_pos = &stack->pos_stack[curr];
char ch = ' ';
do {
switch(ch){
case '(':
parenth_stack[parenth_d++] = 1;
break;
default:
break;
}
ch = **curr_pos;
} while(ch);
} }
ASTStack *parse(char *text){ ASTStack *parse(char *text){
@ -39,8 +51,10 @@ ASTStack *parse(char *text){
} }
i32 ret = 0; i32 ret = 0;
stack->pos_stack[0] = text;
stack->statements[0] = NULL;
do { do {
ret = parse_statement(stack, NULL, text); ret = parse_statement(stack);
} while(!ret); } while(!ret);
return stack; return stack;