ArkScript
A small, fast, functional and scripting language for video games
Function.hpp
Go to the documentation of this file.
1/**
2 * @file Function.hpp
3 * @author Ray John Alovera ([email protected]), Alexandre Plateau ([email protected])
4 * @brief Executor for List Macros
5 * @version 1.0
6 * @date 2021-05-04
7 *
8 * @copyright Copyright (c) 2021-2023
9 *
10 */
11
12#ifndef MACROS_EXECUTORS_LIST_HPP
13#define MACROS_EXECUTORS_LIST_HPP
14
17
18namespace Ark::internal
19{
20 /**
21 * @brief Handles function macros
22 *
23 */
25 {
26 public:
28
29 bool applyMacro(Node& node) override;
30 bool canHandle(Node& node) override;
31 };
32
33}
34
35#endif
The base class for all MacroExecutors.
AST node used by the parser, optimizer and compiler.
Handles function macros.
Definition: Function.hpp:25
bool canHandle(Node &node) override
Checks if the executor can apply a macro on the passed Node.
Definition: Function.cpp:5
bool applyMacro(Node &node) override
Executes macros in the Node if the Executor can handle it.
Definition: Function.cpp:10
A class that applies macros in a Node.
Definition: Executor.hpp:28
MacroExecutor(MacroProcessor *macroprocessor, unsigned debug=0)
Construct a new Macro Executor object.
Definition: Executor.cpp:7
A node of an Abstract Syntax Tree for ArkScript.
Definition: Node.hpp:29