unlogic
Loading...
Searching...
No Matches
unlogic::IRGenerator Struct Reference

#include <IRGenerator.h>

Public Member Functions

llvm::Value * operator() (std::monostate &node)
 
llvm::Value * operator() (NumericLiteralNode &node)
 
llvm::Value * operator() (StringLiteralNode &node)
 
llvm::Value * operator() (DivisionNode &node)
 
llvm::Value * operator() (ScopedBlockNode &node)
 
llvm::Value * operator() (VariableNode &node)
 
llvm::Value * operator() (CallNode &node)
 
llvm::Value * operator() (AdditionNode &node)
 
llvm::Value * operator() (SubtractionNode &node)
 
llvm::Value * operator() (MultiplicationNode &node)
 
llvm::Value * operator() (PotentiationNode &node)
 
llvm::Value * operator() (FunctionDefinitionNode &node)
 
llvm::Value * operator() (PlotCommandNode &node)
 
llvm::Value * operator() (ProgramEntryNode &node)
 
 IRGenerator (IRGenerationContext &ctx)
 

Public Attributes

IRGenerationContextctx
 
llvm::IRBuilder builder
 
std::stack< llvm::Value * > values
 

Detailed Description

Definition at line 11 of file IRGenerator.h.

Constructor & Destructor Documentation

◆ IRGenerator()

unlogic::IRGenerator::IRGenerator ( IRGenerationContext ctx)
inline

Definition at line 32 of file IRGenerator.h.

Member Function Documentation

◆ operator()() [1/14]

llvm::Value * unlogic::IRGenerator::operator() ( unlogic::AdditionNode node)

Definition at line 58 of file IRGenerator.cpp.

◆ operator()() [2/14]

llvm::Value * unlogic::IRGenerator::operator() ( unlogic::CallNode node)

Definition at line 38 of file IRGenerator.cpp.

◆ operator()() [3/14]

llvm::Value * unlogic::IRGenerator::operator() ( unlogic::DivisionNode node)

Definition at line 15 of file IRGenerator.cpp.

◆ operator()() [4/14]

llvm::Value * unlogic::IRGenerator::operator() ( unlogic::FunctionDefinitionNode node)

Definition at line 92 of file IRGenerator.cpp.

◆ operator()() [5/14]

llvm::Value * unlogic::IRGenerator::operator() ( unlogic::MultiplicationNode node)

Definition at line 74 of file IRGenerator.cpp.

◆ operator()() [6/14]

llvm::Value * unlogic::IRGenerator::operator() ( unlogic::NumericLiteralNode node)

Definition at line 5 of file IRGenerator.cpp.

◆ operator()() [7/14]

llvm::Value * unlogic::IRGenerator::operator() ( unlogic::PlotCommandNode node)

Definition at line 137 of file IRGenerator.cpp.

◆ operator()() [8/14]

llvm::Value * unlogic::IRGenerator::operator() ( unlogic::PotentiationNode node)

Definition at line 82 of file IRGenerator.cpp.

◆ operator()() [9/14]

llvm::Value * unlogic::IRGenerator::operator() ( unlogic::ProgramEntryNode node)

Definition at line 155 of file IRGenerator.cpp.

◆ operator()() [10/14]

llvm::Value * unlogic::IRGenerator::operator() ( unlogic::ScopedBlockNode node)

Definition at line 23 of file IRGenerator.cpp.

◆ operator()() [11/14]

llvm::Value * unlogic::IRGenerator::operator() ( std::monostate &  node)

Definition at line 184 of file IRGenerator.cpp.

◆ operator()() [12/14]

llvm::Value * unlogic::IRGenerator::operator() ( unlogic::StringLiteralNode node)

Definition at line 10 of file IRGenerator.cpp.

◆ operator()() [13/14]

llvm::Value * unlogic::IRGenerator::operator() ( unlogic::SubtractionNode node)

Definition at line 66 of file IRGenerator.cpp.

◆ operator()() [14/14]

llvm::Value * unlogic::IRGenerator::operator() ( unlogic::VariableNode node)

Definition at line 33 of file IRGenerator.cpp.

Member Data Documentation

◆ builder

llvm::IRBuilder unlogic::IRGenerator::builder

Definition at line 14 of file IRGenerator.h.

◆ ctx

IRGenerationContext& unlogic::IRGenerator::ctx

Definition at line 13 of file IRGenerator.h.

◆ values

std::stack<llvm::Value *> unlogic::IRGenerator::values

Definition at line 15 of file IRGenerator.h.


The documentation for this struct was generated from the following files: