12#ifndef MACROS_EXECUTORS_LIST_HPP
13#define MACROS_EXECUTORS_LIST_HPP
45 void unify(
const std::unordered_map<std::string, Node>& map,
Node& target,
Node* parent, std::size_t index = 0, std::size_t unify_depth = 0);
The base class for all MacroExecutors.
AST node used by the parser, optimizer and compiler.
bool canHandle(Node &node) override
bool applyMacro(Node &node, unsigned depth) override
void unify(const std::unordered_map< std::string, Node > &map, Node &target, Node *parent, std::size_t index=0, std::size_t unify_depth=0)
A class that applies macros in a Node.
MacroExecutor(MacroProcessor *processor, unsigned debug=0)
Construct a new Macro Executor object.
A node of an Abstract Syntax Tree for ArkScript.