CodeGen

Contains functions to generate ByteCode from AST nodes

Constructors

this
this()

constructor

Destructor

~this
~this()

destructor

Members

Functions

generateByteCode
void generateByteCode(FunctionNode node)

generates byte code for a FunctionNode

generateByteCode
void generateByteCode(BlockNode node)

generates byte code for a BlockNode

generateByteCode
void generateByteCode(StatementNode node)

generates byte code for a StatementNode

generateByteCode
void generateByteCode(AssignmentNode node)

generates byte code for AssignmentNode

generateByteCode
void generateByteCode(DoWhileNode node)

generates ByteCode for DoWhileNode

generateByteCode
void generateByteCode(ForNode node)

generates byte code for ForNode

generateByteCode
void generateByteCode(FunctionCallNode node, bool pushRef, bool popReturn)

generates byte code for FunctionCallNode

generateByteCode
void generateByteCode(IfNode node)

generates byte code for IfNode

generateByteCode
void generateByteCode(VarDeclareNode node)

generates byte code for VarDeclareNode - actually, just checks if a value is being assigned to it, if yes, makes var a ref to that val

generateByteCode
void generateByteCode(WhileNode node)

generates byte code for WhileNode

generateByteCode
void generateByteCode(ReturnNode node)

generates byte code for ReturnNode

generateByteCode
void generateByteCode(CodeNode node, bool pushRef)

generates byte code for CodeNode

generateByteCode
void generateByteCode(LiteralNode node, bool pushRef)

generates byte code for LiteralNode

generateByteCode
void generateByteCode(NegativeValueNode node, bool pushRef)

generates byte code for NegativeValueNode

generateByteCode
void generateByteCode(OperatorNode node, bool pushRef)

generates byte code for OperatorNode

generateByteCode
void generateByteCode(SOperatorNode node, bool pushRef)

generates byte code for SOperatorNode

generateByteCode
void generateByteCode(ReadElement node, bool pushRef)

generates byte code for ReadElement

generateByteCode
void generateByteCode(VariableNode node, bool pushRef)

generates byte code for VariableNode

generateByteCode
void generateByteCode(ArrayNode node, bool pushRef)

generates byte code for ArrayNode

generateByteCode
void generateByteCode(ScriptNode node)

generates byte code for ScriptNode

generateInBuiltFunctionByteCode
void generateInBuiltFunctionByteCode(FunctionCallNode node, bool popReturn)

generates byte code for inbuilt QScript functions (length(void[]) and stuff)

getByteCode
string[] getByteCode()
getFunctionMap
Function[] getFunctionMap()

Meta