Brain  1.0.0
A fast esoteric language!
ArithmeticExpr Class Reference

Represents the three arithmetic operations that you can use and abuse in Brain. More...

#include <ArithmeticExpr.h>

Inheritance diagram for ArithmeticExpr:
Collaboration diagram for ArithmeticExpr:

Public Member Functions

 ArithmeticExpr (ArithmeticType type)
 
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.
 
- Public Member Functions inherited from Expr
virtual bool update_expression (char update)
 Virtual method for updating the AST exprs. More...
 
virtual ExpressionType expression_category ()
 Returns the category of the expression given by the caller.
 

Protected Member Functions

std::string type_to_string ()
 

Protected Attributes

ArithmeticType _type
 

Detailed Description

Represents the three arithmetic operations that you can use and abuse in Brain.

Member Function Documentation

void ArithmeticExpr::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 ArithmeticExpr::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: