summaryrefslogtreecommitdiff
path: root/src/parser.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/parser.c')
-rw-r--r--src/parser.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/parser.c b/src/parser.c
index 5d2a734..4867201 100644
--- a/src/parser.c
+++ b/src/parser.c
@@ -38,12 +38,22 @@ expected_token(parser_t *parser, token_kind_t kind)
lexer_next_token(parser->lexer, &token);
if (token.kind == TOKEN_EOF) {
- fprintf(stderr, "[ERROR]: expected '%s' but got end of file\n", token_kind_to_str(kind));
+ fprintf(
+ stderr,
+ "%s:%d:%d: [ERROR]: expected '%s' but got end of file\n",
+ token.filepath, token.row + 1, token.col + 1,
+ token_kind_to_str(kind)
+ );
exit(EXIT_FAILURE);
}
if (token.kind != kind) {
- fprintf(stderr, "[ERROR]: expected '%s' but got '%s'\n", token_kind_to_str(kind), token_kind_to_str(token.kind));
+ fprintf(
+ stderr,
+ "%s:%d:%d: [ERROR]: expected '%s' but got '%s'\n",
+ token.filepath, token.row + 1, token.col + 1,
+ token_kind_to_str(kind), token_kind_to_str(token.kind)
+ );
exit(EXIT_FAILURE);
}