|
Brain
1.0.0
A fast esoteric language!
|
Abstract class in which all expressions in Brain implement from. More...
#include <Expr.h>

Public Member Functions | |
| virtual void | code_gen (llvm::Module *M, llvm::IRBuilder<> &B, llvm::BasicBlock *BreakBB)=0 |
| Virtual method for code generation. More... | |
| virtual void | debug_description (int level)=0 |
| Virtual method for the AST's emission. More... | |
| virtual void | ast_code_gen ()=0 |
| Virtual method for the reverse code generation from the AST. It prints out to the stdout the token itself. | |
| 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. | |
Abstract class in which all expressions in Brain implement from.
|
pure virtual |
Virtual method for code generation.
| M | The current Module. |
| B | The current IR Builder. |
| BreakBB | The outter Basic Block that continues after a loop. |
Implemented in ArithmeticExpr, LoopExpr, IfExpr, FloatExpr, InputExpr, ShiftExpr, DebugExpr, IncrementExpr, OutputExpr, and BreakExpr.
|
pure virtual |
Virtual method for the AST's emission.
| level | Depth within the AST. |
Implemented in ArithmeticExpr, LoopExpr, IfExpr, FloatExpr, InputExpr, ShiftExpr, DebugExpr, IncrementExpr, OutputExpr, and BreakExpr.
|
inlinevirtual |
Virtual method for updating the AST exprs.
| update | The char whose expression will be updated. |
Reimplemented in ShiftExpr, and IncrementExpr.