Brain  1.0.0
A fast esoteric language!
ASTInfo Class Reference

The abstract syntax tree. More...

#include <ASTInfo.h>

Public Member Functions

 ASTInfo (ASTInfo const &)=delete
 
ASTInfooperator= (ASTInfo const &)=delete
 
void code_gen (llvm::Module *M, llvm::IRBuilder<> &B)
 Generates the IR (Intermediate Representation) code to be executed by llvm. More...
 
llvm::GlobalVariable * get_index_ptr ()
 
llvm::GlobalVariable * get_cells_ptr ()
 

Static Public Member Functions

static ASTInfoinstance ()
 Returns the instance of ASTInfo class if the member _instance is nullptr, otherwise it creates a new ASTInfo object and returns it. More...
 

Public Attributes

bool is_using_io_lib
 Controls if the io.ll module is included within the module which is being interpreted, if the module does not uses any function defined in io.c so it won't include io.ll in their .ll code.
 

Detailed Description

The abstract syntax tree.

Member Function Documentation

void ASTInfo::code_gen ( llvm::Module *  M,
llvm::IRBuilder<> &  B 
)

Generates the IR (Intermediate Representation) code to be executed by llvm.

Parameters
MA pointer to the Brain's module.
BA reference to the Brain's IR builder.
llvm::GlobalVariable * ASTInfo::get_cells_ptr ( )
Returns
A pointer to the array of cells used as the Brain's memory.
llvm::GlobalVariable * ASTInfo::get_index_ptr ( )
Returns
A pointer to the actual index used by Brain parser.
ASTInfo * ASTInfo::instance ( )
static

Returns the instance of ASTInfo class if the member _instance is nullptr, otherwise it creates a new ASTInfo object and returns it.

Returns
A pointer to the ASTInfo instance.

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