Initial commit

This commit is contained in:
2024-12-02 06:30:40 +00:00
commit fd62fb822d
33 changed files with 1972 additions and 0 deletions

43
include/cmd/cmd_misc.hpp Normal file
View File

@ -0,0 +1,43 @@
#pragma once
#include <sstream>
#include "cmd/cmd_base.hpp"
#include "fsh.hpp"
#include "ast/ast.hpp"
namespace fsh {
class CmdExit : public Command {
protected:
virtual void run(std::istream& in, std::ostream& out, ArgManager& args) override {
fsh::instance().environment["EXITING"] = "1";
}
};
class CmdPrintTree : public Command {
protected:
virtual void register_flags() override {
auto& factory = get_factory();
factory.add_input_rule();
}
virtual void run(std::istream& in, std::ostream& out, ArgManager& args) override {
std::string line;
std::getline(in, line);
auto tokens = Lexer::process(line);
auto ast = AstFactory::generate_ast(tokens);
ast->print(0);
}
};
}