From 5e94ca9f060d2952ef08913234c500a815f734bf Mon Sep 17 00:00:00 2001 From: _ov4 Date: Tue, 1 Sep 2026 00:39:44 +0000 Subject: refactor --- include/command/builtin.h | 23 +++++++++++++++++++++++ include/eval.h | 3 ++- include/global.h | 3 ++- include/ground.h | 2 +- include/handler.h | 2 +- include/util.h | 38 -------------------------------------- include/util/io.h | 36 ++++++++++++++++++++++++++++++++++++ 7 files changed, 65 insertions(+), 42 deletions(-) create mode 100644 include/command/builtin.h delete mode 100644 include/util.h create mode 100644 include/util/io.h (limited to 'include') diff --git a/include/command/builtin.h b/include/command/builtin.h new file mode 100644 index 0000000..f37b844 --- /dev/null +++ b/include/command/builtin.h @@ -0,0 +1,23 @@ +#pragma once + +#include +#include +#include +#include +#include + +namespace ov4 +{ + +extern std::vector builtin_cmd_list; + +bool exe_bultin_command(char **argv); + +} + +namespace ov4::command +{ + +void quit(); + +} diff --git a/include/eval.h b/include/eval.h index a6157e0..919d03f 100644 --- a/include/eval.h +++ b/include/eval.h @@ -14,7 +14,8 @@ #include #include "global.h" -#include "util.h" +#include "util/io.h" +#include "command/builtin.h" #include "job.h" #include "ground.h" #include "parse.h" diff --git a/include/global.h b/include/global.h index 7d63c1b..5ff04f3 100644 --- a/include/global.h +++ b/include/global.h @@ -11,6 +11,7 @@ extern int verbose; constexpr int MAXLINE = 1024; constexpr int MAXARGS = 128; -extern std::vector builtin_cmd_list; + +constexpr bool GLOBAL_DEBUG = true; } diff --git a/include/ground.h b/include/ground.h index 564e6ab..d57f085 100644 --- a/include/ground.h +++ b/include/ground.h @@ -6,7 +6,7 @@ #include #include "global.h" -#include "util.h" +#include "util/io.h" #include "job.h" #include "handler.h" diff --git a/include/handler.h b/include/handler.h index 23c9540..f226387 100644 --- a/include/handler.h +++ b/include/handler.h @@ -12,7 +12,7 @@ #include #include -#include "util.h" +#include "util/io.h" #include "job.h" namespace ov4 diff --git a/include/util.h b/include/util.h deleted file mode 100644 index bab7738..0000000 --- a/include/util.h +++ /dev/null @@ -1,38 +0,0 @@ -#pragma once - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "global.h" - -#define LOG !(ov4::GLOBAL_DEBUG && verbose) ? (void)0 : ov4::LogVoidify() & std::clog - -namespace ov4 { - -void atomic_print(char *s, bool ignore_wrap = false); -void atomic_print(int x); -void atomic_debug(char *s, bool ignore_wrap = false); -void atomic_debug(int x); -bool isnum(char *s); -void reverse(char str[], int length); -char *itoa(int num, char* str, int base); -int builtin_cmd(char *c_str); -void builtin_command_quit(); - -constexpr bool GLOBAL_DEBUG = true; -struct LogVoidify { void operator&(std::ostream&) const {} }; - -constexpr int DECIMAL = 10; -constexpr int LENGTH = 32; - -} diff --git a/include/util/io.h b/include/util/io.h new file mode 100644 index 0000000..5bdbcbd --- /dev/null +++ b/include/util/io.h @@ -0,0 +1,36 @@ +#pragma once + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "global.h" + +#define LOG !(ov4::GLOBAL_DEBUG && verbose) ? (void)0 : ov4::LogVoidify() & std::clog + +namespace ov4 +{ + +struct LogVoidify { void operator&(std::ostream&) const {} }; + +constexpr int DECIMAL = 10; +constexpr int LENGTH = 32; + +void atomic_print(char *s, bool ignore_wrap = false); +void atomic_print(int x); +void atomic_debug(char *s, bool ignore_wrap = false); +void atomic_debug(int x); +bool isnum(char *s); +void reverse(char str[], int length); +char *itoa(int num, char* str, int base); + +} -- cgit v1.3.1-4-g156e