diff --git a/generate_state_table.c b/generate_state_table.c index 4f47c80..0200aef 100644 --- a/generate_state_table.c +++ b/generate_state_table.c @@ -7,9 +7,8 @@ #define STRING_BUF_LENGTH 100 -INTERNAL void clear_file(void); INTERNAL void fill_table(void); -INTERNAL void write_table(void); +INTERNAL void write_table(FILE *fp); INTERNAL void set_column_width(lexer_state_t state); INTERNAL const char *get_input_string(lexer_input_t input); @@ -49,24 +48,20 @@ INTERNAL lexer_state_t state_table[COUNT_LEXER_STATES][COUNT_LEXER_INPUTS] = { INTERNAL const char *filename = "./include/lexer/lexer_state_transitions.table"; int main(void) { - clear_file(); - - fill_table(); - - write_table(); - - return EXIT_SUCCESS; -} - -void clear_file(void) { FILE *fp = fopen(filename, "w"); if (!fp) { printf("Failed to open file\n"); - return; + return EXIT_FAILURE; } + fill_table(); + + write_table(fp); + fclose(fp); + + return EXIT_SUCCESS; } INTERNAL void fill_table(void) { @@ -84,15 +79,7 @@ INTERNAL void fill_table(void) { } } -void write_table(void) { - FILE *fp = fopen(filename, "a"); - - if (!fp) { - printf("Failed to open file\n"); - - return; - } - +void write_table(FILE *fp) { const char *array_open = "{ "; const u64 array_open_length = strlen(array_open); @@ -146,8 +133,6 @@ void write_table(void) { memset(output, 0, STRING_BUF_LENGTH); } - - fclose(fp); } INTERNAL void set_column_width(lexer_state_t state) {