diff options
Diffstat (limited to 'src/parser.c')
-rw-r--r-- | src/parser.c | 14 |
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); } |