From 2e773218be00463a27ad813d07c574f306e684d6 Mon Sep 17 00:00:00 2001 From: Kyler Date: Thu, 12 Jun 2025 21:40:16 -0600 Subject: [PATCH] Added more error printing --- src/main.c | 2 ++ test/example1.zn | 20 +++++++++++--------- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/main.c b/src/main.c index 230028c..1bfd89a 100644 --- a/src/main.c +++ b/src/main.c @@ -44,6 +44,8 @@ int main(void) { print_token(result.result); } else { fprintf(stderr, "Error: %s\n", result.error.message); + fprintf(stderr, "\tFilename: %s\n", result.error.file_info.filename); + fprintf(stderr, "\tLine: %zi\n", result.error.file_info.line); } } while (result.type != SYNC_ERROR && result.result.type != TOKEN_EOF); diff --git a/test/example1.zn b/test/example1.zn index 428220a..3acc2a0 100644 --- a/test/example1.zn +++ b/test/example1.zn @@ -1,19 +1,21 @@ +// Lexer Test Example1 +// Currently not valid ZINC code static void print_token(Token token) { - //printf("Token: %-15s | Text: '%.*s'\n", + printf("Token: %-15s | Text: '%.*s'\n", (const char *[]){ - //"EOF", "IDENTIFIER", "NUMBER", "OPERATOR", - //"LPAREN", "RPAREN", "SEMICOLON", "UNKNOWN" + "EOF", "IDENTIFIER", "NUMBER", "OPERATOR", + "LPAREN", "RPAREN", "SEMICOLON", "UNKNOWN" }[token.type], (int)token.length, token.start ); } int main(void) { - //const char *filename = "test/example1.zn"; - FILE *file = fopen(filename, //"rb"); + const char *filename = "test/example1.zn"; + FILE *file = fopen(filename, "rb"); if (!file) { - //fprintf(stderr, "Failed to open file: %s\n", filename); + fprintf(stderr, "Failed to open file: %s\n", filename); return 1; } fseek(file, 0, SEEK_END); @@ -21,12 +23,12 @@ int main(void) { fseek(file, 0, SEEK_SET); char *source = malloc(filesize + 1); if (!source) { - //fprintf(stderr, "Failed to allocate memory.\n"); + fprintf(stderr, "Failed to allocate memory.\n"); fclose(file); return 1; } fread(source, 1, filesize, file); - source[filesize] = //'\0'; + source[filesize] = '\0'; fclose(file); Lexer lexer; @@ -38,7 +40,7 @@ int main(void) { if (result.type == SYNC_RESULT) { print_token(result.result); } else { - //fprintf(stderr, "Error: %s\n", result.error.message); + fprintf(stderr, "Error: %s\n", result.error.message); } } while (result.type != SYNC_ERROR && result.result.type != TOKEN_EOF);