aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
author_ov4 <ov4@ov4.org>2026-09-16 11:28:14 +0000
committer_ov4 <ov4@ov4.org>2026-09-16 11:28:14 +0000
commite489a2db5a1e56e66f6df12642ad8cfd988d4b30 (patch)
treeaafcb1d962e9ce24ddccf00aff82d0ed0804fc4c /include
parent165ead4adbf8494db82f7be35c6f8d52ac47ebef (diff)
implement subshell, and fix vector operator[] unvalid index
Diffstat (limited to 'include')
-rw-r--r--include/eval.h5
-rw-r--r--include/lexer/ast.h3
2 files changed, 6 insertions, 2 deletions
diff --git a/include/eval.h b/include/eval.h
index 5c819a4..214a1ae 100644
--- a/include/eval.h
+++ b/include/eval.h
@@ -1,11 +1,12 @@
#pragma once
#include "all.h"
-#include "lexer/token.h"
+#include "lexer/lexer_class.h"
namespace ov4
{
-
+int eval_exe(const std::string &s, bool is_aync);
+int eval_tree_cd(size_t i, const T_lexer &lexer_instance, bool inside_subshell);
void eval(char *cmdline);
}
diff --git a/include/lexer/ast.h b/include/lexer/ast.h
index d4b0fd5..871afaf 100644
--- a/include/lexer/ast.h
+++ b/include/lexer/ast.h
@@ -21,6 +21,9 @@ public:
size_t left = string::npos;
size_t right = string::npos;
+ // if this is marked as `subshell`
+ // it will fork a subshell
+ // then the subshell will handler the rest
bool subshell;
};