11#ifndef ARK_COMPILER_PASS_HPP
12#define ARK_COMPILER_PASS_HPP
31 Pass(std::string name,
unsigned debug_level);
46 [[nodiscard]]
virtual const Node&
ast() const noexcept = 0;
AST node used by the parser, optimizer and compiler.
A node of an Abstract Syntax Tree for ArkScript.
An interface to describe compiler passes.
virtual const Node & ast() const noexcept=0
Output of the compiler pass.
virtual void process(const Node &ast)=0
Start processing the given AST.
Pass(std::string name, unsigned debug_level)
Construct a new Pass object.