ArkScript
A small, fast, functional and scripting language for video games
|
An interface to describe compiler passes. More...
#include <Pass.hpp>
Public Member Functions | |
Pass (std::string name, unsigned debug_level) | |
Construct a new Pass object. | |
virtual | ~Pass ()=default |
virtual void | process (const Node &ast)=0 |
Start processing the given AST. | |
virtual const Node & | ast () const noexcept=0 |
Output of the compiler pass. | |
Protected Attributes | |
Logger | m_logger |
Ark::internal::Pass::Pass | ( | std::string | name, |
unsigned | debug_level ) |
|
virtualdefault |
|
nodiscardpure virtualnoexcept |
Output of the compiler pass.
Implemented in Ark::internal::ImportSolver, Ark::internal::MacroProcessor, Ark::internal::NameResolutionPass, and Ark::internal::Optimizer.
|
pure virtual |
Start processing the given AST.
ast |
Implemented in Ark::internal::ImportSolver, Ark::internal::MacroProcessor, Ark::internal::NameResolutionPass, and Ark::internal::Optimizer.
|
protected |
Definition at line 49 of file Pass.hpp.
Referenced by Ark::internal::ImportSolver::parseImport(), Ark::internal::ImportSolver::process(), Ark::internal::MacroProcessor::process(), Ark::internal::NameResolutionPass::process(), Ark::internal::Optimizer::process(), and Ark::internal::Optimizer::pruneUnusedGlobalVariables().