Files
furlang/furc/include/furc/ast/program.hpp
T
CHatingPython 2395ee9977 Forward furc ast
Signed-off-by: CHatingPython <chatingpython@gmail.com>
2026-05-31 19:16:52 +02:00

32 lines
812 B
C++

#ifndef FURC_AST_PROGRAM_HPP
#define FURC_AST_PROGRAM_HPP
#include "furc/ast/declaration.hpp"
#include "furc/ast/node.hpp"
#include <vector>
namespace furc {
namespace ast {
class program_node : public node {
public:
program_node() = default;
node_t category() const override { return node_t::Program; }
public:
void push(node_handle<declaration_node>&& declaration) { m_declarations.push_back(std::move(declaration)); }
const std::vector<node_handle<declaration_node>>& declarations() const { return m_declarations; }
public:
std::ostream& print(std::ostream& os) const override;
protected:
bool equal(const node& rhs) const override;
private:
std::vector<node_handle<declaration_node>> m_declarations;
};
} // namespace ast
} // namespace furc
#endif // FURC_AST_PROGRAM_HPP