18 std::pair<bool, std::string> get_init_error();
19 const std::string &get_code()
const;
20 std::pair<bool, std::string> set_code(
const std::string &s);
22 std::pair<bool, std::string> run(
const ParameterSet &pset = {});
27 enum class Type { INT, CMD, STR,
UUID };
28 Token(Type ty) : type(ty)
54 const std::string command;
55 std::deque<std::unique_ptr<Token>> arguments;
64 const std::string string;
69 TokenUUID(
const std::string &str) :
Token(Token::Type::UUID), string(str)
73 const std::string string;
75 using CommandHandler =
76 std::function<std::pair<bool, std::string>(
const TokenCommand *cmd, std::deque<int64_t> &stack)>;
77 virtual CommandHandler get_command(
const std::string &cmd);
81 std::pair<bool, std::string> compile();
82 std::pair<bool, std::string> init_error = {
false,
""};
84 std::deque<std::unique_ptr<Token>> tokens;
Definition: program.hpp:25
Definition: program.hpp:58
Definition: program.hpp:11
Definition: program.hpp:39
Definition: program.cpp:54
Definition: program.hpp:67
This class encapsulates a UUID and allows it to be uses as a value type.
Definition: uuid.hpp:16
Definition: program.hpp:48