Brain  1.0.0
A fast esoteric language!
IfExpr Class Reference

Class that represents the if operator in Brain. More...

#include <IfExpr.h>

Inheritance diagram for IfExpr:
Collaboration diagram for IfExpr:

Public Member Functions

 IfExpr (std::vector< Expr * > exprs_then)
 
void set_else (std::vector< Expr * > exprs_else)
 
void code_gen (llvm::Module *M, llvm::IRBuilder<> &B, llvm::BasicBlock *BreakBB)
 Generates the IR (Intermediate Representation) code to be executed by llvm. More...
 
void debug_description (int level)
 Prints debug information when Brain's compiler has the active flags: -v | -emit-ast. More...
 
void ast_code_gen ()
 Method for the reverse code generation from the AST. It prints out to the stdout the token itself.
 
ExpressionType expression_category ()
 Returns the category of the expression given by the caller.
 
- Public Member Functions inherited from Expr
virtual bool update_expression (char update)
 Virtual method for updating the AST exprs. More...
 

Protected Attributes

std::vector< Expr * > _exprs_then
 
std::vector< Expr * > _exprs_else
 

Detailed Description

Class that represents the if operator in Brain.

Member Function Documentation

void IfExpr::code_gen ( llvm::Module *  M,
llvm::IRBuilder<> &  B,
llvm::BasicBlock *  BreakBB 
)
virtual

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.
BreakBBA pointer to the Brain's basic block.

Implements Expr.

void IfExpr::debug_description ( int  level)
virtual

Prints debug information when Brain's compiler has the active flags: -v | -emit-ast.

Parameters
levelThe width used to display the debug information (to mimic identation).

Implements Expr.


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