Merge pull request #25 from Servostar/4-Read-Source-File

4 read source file
This commit is contained in:
SirTalksalot75 2024-04-26 16:25:12 +02:00 committed by GitHub
commit c5d70fdf7e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 39 additions and 3 deletions

View File

@ -4,6 +4,8 @@
#define LOG_LEVEL LOG_LEVEL_DEBUG #define LOG_LEVEL LOG_LEVEL_DEBUG
extern FILE* yyin;
/** /**
* @brief Log a debug message to inform about beginning exit procedures * @brief Log a debug message to inform about beginning exit procedures
* *
@ -13,6 +15,19 @@ void notify_exit(void)
DEBUG("Exiting gemstone..."); DEBUG("Exiting gemstone...");
} }
/**
* @brief Closes File after compiling.
*
*/
void close_file(void)
{
if (NULL != yyin)
{
fclose(yyin);
}
}
/** /**
* @brief Run compiler setup here * @brief Run compiler setup here
* *
@ -29,13 +44,34 @@ void setup(void)
#endif #endif
// actual setup // actual setup
DEBUG("finished starting up gemstone..."); DEBUG("finished starting up gemstone...");
} }
int main(void) { int main(int argc, char *argv[]) {
setup();
setup();
atexit(close_file);
// Check for file input as argument
if (2 != argc)
{
INFO("Usage: %s <filename>\n", argv[0]);
PANIC("No File could be found");
}
// filename as first argument
char *filename = argv[1];
FILE *file = fopen(filename, "r");
if (NULL == file)
{
PANIC("File couldn't be opened!");
}
yyin = file;
yyparse(); yyparse();
return 0; return 0;
} }