#include #include #include #include #include #include "syntax.h" #include "stages.h" #include "utils.h" int main() { ShellState shstate = {.shell_vars = make_KeyValMap(256), .aliases = make_KeyValMap(256)}; char* line; while (1) { line = readline("$ "); if (line[0] == '\0') continue; add_history(line); Ast ast = lex(line); PipelineTree pltree = process_ast(ast, &shstate); execute_pipeline_tree(pltree, &shstate); } free(line); }