parser improved

This commit is contained in:
2025-11-12 14:13:45 +03:00
parent 047f1a672e
commit bf9d827ae1

View File

@@ -270,13 +270,21 @@ Token parse_func_def(Token *inp, size_t *idx, SymbolTable *sym){
(*idx)++; (*idx)++;
skip_space(inp, idx); skip_space(inp, idx);
if (inp->type[*idx] != TOKEN_COMMA){ if (inp->type[*idx] == TOKEN_COMMA){
fprintf(stderr, "Expected Comma after type\n");
fprintf(stderr, "At Token %zu\n", *idx);
exit(1);
}
func.arg_count++; // PROBABLY THE RIGHT PLACE TO DO THIS
(*idx)++; (*idx)++;
func.arg_count++; // PROBABLY THE RIGHT PLACE TO DO THIS
continue;
// fprintf(stderr, "Expected Comma after type\n");
// fprintf(stderr, "At Token %zu\n", *idx);
} else if (inp->type[*idx] == TOKEN_RPAREN){
break;
// func.arg_count++; // PROBABLY THE RIGHT PLACE TO DO THIS
// (*idx)++;
} else {
fprintf(stderr, "Expected Comma or RPAREN after type\n");
fprintf(stderr, "At Token %zu\n", *idx);
}
skip_space(inp, idx); skip_space(inp, idx);
} }