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.