/** * Contains the logging framework used for logging errors during compilation. */ #ifndef LOG_H #define LOG_H /** * A method that can log an error. */ typedef void LogError(const char* msg); /** * Sets the destination for log errors. */ void log_set_output(LogError* destination); /** * Logs an error to the destination. */ void log_error(const char* msg); /** * Logs a pretty error with additional information about the line where the error occurred. * * @param filename The name of the file where the error occurred. * @param line_text The entire line of text where the error occurred. * @param line The line number where the error occurred. * @param from The column number where the error starts. * @param to The column number where the error ends. * @param msg The error message to log. */ void log_on_line(const char* filename, const char* line_text, int line, int from, int to, const char* msg); #endif