Added more error printing
This commit is contained in:
parent
e174f95d5c
commit
2e773218be
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
Loading…
Reference in New Issue