123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- #include <stdio.h>
- #include <unistd.h>
- #include <stdlib.h>
- #define DECLARE_MODULE_RUN(num) extern int module_##num##_run(const char *filename) __attribute__((weak))
- DECLARE_MODULE_RUN(00);
- DECLARE_MODULE_RUN(01);
- DECLARE_MODULE_RUN(02);
- DECLARE_MODULE_RUN(03);
- DECLARE_MODULE_RUN(04);
- DECLARE_MODULE_RUN(05);
- DECLARE_MODULE_RUN(06);
- DECLARE_MODULE_RUN(07);
- DECLARE_MODULE_RUN(08);
- DECLARE_MODULE_RUN(09);
- DECLARE_MODULE_RUN(10);
- DECLARE_MODULE_RUN(11);
- DECLARE_MODULE_RUN(12);
- DECLARE_MODULE_RUN(13);
- DECLARE_MODULE_RUN(14);
- DECLARE_MODULE_RUN(15);
- DECLARE_MODULE_RUN(16);
- DECLARE_MODULE_RUN(17);
- DECLARE_MODULE_RUN(18);
- DECLARE_MODULE_RUN(19);
- DECLARE_MODULE_RUN(20);
- DECLARE_MODULE_RUN(21);
- DECLARE_MODULE_RUN(22);
- DECLARE_MODULE_RUN(23);
- DECLARE_MODULE_RUN(24);
- DECLARE_MODULE_RUN(25);
- DECLARE_MODULE_RUN(26);
- DECLARE_MODULE_RUN(27);
- DECLARE_MODULE_RUN(28);
- DECLARE_MODULE_RUN(29);
- DECLARE_MODULE_RUN(30);
- DECLARE_MODULE_RUN(31);
- DECLARE_MODULE_RUN(32);
- DECLARE_MODULE_RUN(33);
- DECLARE_MODULE_RUN(34);
- DECLARE_MODULE_RUN(35);
- int main(int argc, char *argv[]) {
-
- if (argc != 2) {
- fprintf(stderr, " Использование: %s <filename>\n", argv[0]);
- return 1;
- }
- system("clear");
- const char *filename = argv[1];
-
- if (access(filename, F_OK) != 0) {
-
- if (module_30_run != NULL) {
- printf("\n\033[1;90m Module:\033[0m 30\n");
- int result = module_30_run(filename);
- if (result != 0) {
- fprintf(stderr, " Модуль module_30 завершился с ошибкой: %d\n", result);
- }
- } else {
- fprintf(stderr, " Модуль module_30 не реализован\n");
- }
- return 0;
- }
-
- int (*module_runs[36])(const char *) = {
- module_00_run, module_01_run, module_02_run, module_03_run,
- module_04_run, module_05_run, module_06_run, module_07_run,
- module_08_run, module_09_run, module_10_run, module_11_run,
- module_12_run, module_13_run, module_14_run, module_15_run,
- module_16_run, module_17_run, module_18_run, module_19_run,
- module_20_run, module_21_run, module_22_run, module_23_run,
- module_24_run, module_25_run, module_26_run, module_27_run,
- module_28_run, module_29_run, module_30_run, module_31_run,
- module_32_run, module_33_run, module_34_run, module_35_run
- };
-
- for (int i = 0; i < 36; i++) {
- if (module_runs[i] != NULL) {
- printf("\n\033[1;90m Module:\033[0m %02d\n", i);
- int result = module_runs[i](filename);
- if (result != 0) {
- fprintf(stderr, "\033[1;90m Module:\033[0m \033[0;37m%02d\033[0m \033[0;31mfailed with error: %d\033[0m\n", i, result);
- }
- }
- }
- return 0;
- }
|