$search
#include <tree.h>
Public Member Functions | |
virtual void | emit (PreLinkBytecode &bytecodes) const |
Generate bytecode. | |
virtual Node * | expandToAsebaTree (std::wostream *dump, unsigned int index=0) |
Second pass to expand "abstract" nodes into more concrete ones. | |
virtual unsigned | getStackDepth () const |
Return the stack depth requirement for this node and its children. | |
virtual unsigned | getVectorSize () const |
return the children's size, check for equal size, or E_NOVAL if no child | |
ImmediateNode (const SourcePos &sourcePos, int value) | |
Constructor. | |
virtual Node * | optimize (std::wostream *dump) |
Optimize this node, return the optimized node. | |
virtual ImmediateNode * | shallowCopy () |
Return a shallow copy of the object (children point to the same objects). | |
virtual std::wstring | toNodeName () const |
Return a string representation of the name of this node. | |
virtual std::wstring | toWString () const |
Return a string representation of this node. | |
virtual ReturnType | typeCheck () const |
Typecheck this node, throw an exception if there is any type violation. | |
Public Attributes | |
int | value |
value to push on stack |
Node for pushing immediate value on stack. Might generate either Small Immediate or Large Immediate bytecode depending on the range of value no children
Definition at line 343 of file tree.h.
Aseba::ImmediateNode::ImmediateNode | ( | const SourcePos & | sourcePos, | |
int | value | |||
) | [inline] |
virtual Node* Aseba::ImmediateNode::expandToAsebaTree | ( | std::wostream * | dump, | |
unsigned int | index = 0 | |||
) | [inline, virtual] |
Second pass to expand "abstract" nodes into more concrete ones.
Reimplemented from Aseba::Node.
virtual unsigned Aseba::ImmediateNode::getVectorSize | ( | ) | const [inline, virtual] |
return the children's size, check for equal size, or E_NOVAL if no child
Reimplemented from Aseba::Node.
virtual ImmediateNode* Aseba::ImmediateNode::shallowCopy | ( | ) | [inline, virtual] |
Return a shallow copy of the object (children point to the same objects).
Implements Aseba::Node.
virtual std::wstring Aseba::ImmediateNode::toNodeName | ( | ) | const [inline, virtual] |
Return a string representation of the name of this node.
Implements Aseba::Node.
virtual ReturnType Aseba::ImmediateNode::typeCheck | ( | ) | const [inline, virtual] |
Typecheck this node, throw an exception if there is any type violation.
Reimplemented from Aseba::Node.