Compare commits

..

2 Commits

Author SHA1 Message Date
41d1dd406d Merge branch 'error-lolg' 2025-01-14 09:39:09 +01:00
bc69a39570 Attempt to improved error log. 2025-01-14 09:38:05 +01:00

View File

@@ -182,7 +182,33 @@ generate_source_location_from_token :: (state : *Parse_State, token : Token) ->
}
unexpected_token :: (state : *Parse_State, token : Token, message : string) {
record_error(state, token, message);
/*
*/
builder : String_Builder;
init_string_builder(*builder,, temp);
print_to_builder(*builder, "%\n", message);
location : Source_Range;
location.begin = token;
location.begin.source = location.begin.source - location.begin.column;
location.begin.column = 0;
location.main_token = token;
advance(state);
location.end = state.current;
indent(*builder, 1);
cyan(*builder);
print_to_builder(*builder, "%\n", print_from_source_location(location));
indent(*builder, 1);
print_token_pointer(*builder, token);
final_message := builder_to_string(*builder);
record_error(state, token, final_message, false);
}
expected_expression :: (state : *Parse_State, token : Token, message : string) {
@@ -350,8 +376,9 @@ consume :: (parse_state : *Parse_State, kind : Token_Kind, message : string) {
return;
}
token := parse_state.previous;
advance(parse_state);
unexpected_token(parse_state, parse_state.current, message);
unexpected_token(parse_state, token, message);
consume(parse_state, kind, message);
}