From e097a4306efd2a45a531d2da09de634f80ba30f1 Mon Sep 17 00:00:00 2001 From: Ákos Kőrösi Date: Tue, 12 May 2026 16:57:42 +0200 Subject: start outlining execution --- exec.c | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 exec.c diff --git a/exec.c b/exec.c new file mode 100644 index 0000000..e2fbbb3 --- /dev/null +++ b/exec.c @@ -0,0 +1,39 @@ +#include "lex.h" +#include "parse.h" +#include "typeutils.h" + + + +DECLARE_VEC(char*, StdStrVec) + + +typedef struct { + QuotationMode qmode; + char* content; +} ExpandedChunk; + + +ExpandedChunk expand_chunk(Chunk chunk) { + char* content; + if (chunk.qmode == SINGLE_Q || chunk.kind == LITERAL) { + if (chunk.qmode == SINGLE_Q && chunk.kind != LITERAL) exit(69); + content = chunk.as.literal_str; + } else if (chunk.kind == VAR_EXP) { + // TODO: we need a ShellState to query + } + + match (chunk.kind) { + case L + } + switch (chunk.qmode) { + case SINGLE_Q: + + + } +} + + + +void run_pipeline(Pipeline pl) { + +} -- cgit v1.2.3