a
This commit is contained in:
parent
5f2511e0f2
commit
883f7dad9c
1 changed files with 18 additions and 4 deletions
22
src/parser.c
22
src/parser.c
|
@ -22,13 +22,25 @@ i32 parenth_stack[256];
|
|||
i32 parenth_d;
|
||||
|
||||
// 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
|
||||
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){
|
||||
|
@ -39,8 +51,10 @@ ASTStack *parse(char *text){
|
|||
}
|
||||
|
||||
i32 ret = 0;
|
||||
stack->pos_stack[0] = text;
|
||||
stack->statements[0] = NULL;
|
||||
do {
|
||||
ret = parse_statement(stack, NULL, text);
|
||||
ret = parse_statement(stack);
|
||||
} while(!ret);
|
||||
|
||||
return stack;
|
||||
|
|
Loading…
Add table
Reference in a new issue