ResidualVM logo ResidualVM website - Forums - Contact us BuildBot - Doxygen - Wiki curved edge

Stark::Tools::ASTNode Struct Reference

Base Abstract Syntax Tree node. More...

#include <abstractsyntaxtree.h>

Inheritance diagram for Stark::Tools::ASTNode:
Collaboration diagram for Stark::Tools::ASTNode:

List of all members.

Public Member Functions

 ASTNode (ASTNode *parent)
virtual ~ASTNode ()
virtual void print (uint depth, DefinitionRegistry *definitions)=0
 Print the script source code for this node and its children.
virtual Common::Array< const
ASTCommand * > 
listCommands (uint16 index) const =0
 Recursively list all the commands in the tree with the requested index.
void findSuccessors (ASTNode **follower, ASTNode **trueBranch, ASTNode **falseBranch) const
 Find the successors of a node, either the direct follower or the condition branches.
virtual void findSuccessorsIntern (const ASTNode *node, ASTNode **follower, ASTNode **trueBranch, ASTNode **falseBranch) const =0
virtual const ASTCommandgetFirstCommand () const =0
 Find the first command to be executed when running this job.

Protected Member Functions

void printWithDepth (uint depth, const Common::String &string) const

Protected Attributes

ASTNode_parent

Detailed Description

Base Abstract Syntax Tree node.

The abstract syntax tree directly maps the script source code.

Definition at line 40 of file abstractsyntaxtree.h.


Constructor & Destructor Documentation

Stark::Tools::ASTNode::ASTNode ( ASTNode parent  ) 

Definition at line 30 of file abstractsyntaxtree.cpp.

Stark::Tools::ASTNode::~ASTNode (  )  [virtual]

Definition at line 35 of file abstractsyntaxtree.cpp.


Member Function Documentation

void Stark::Tools::ASTNode::findSuccessors ( ASTNode **  follower,
ASTNode **  trueBranch,
ASTNode **  falseBranch 
) const

Find the successors of a node, either the direct follower or the condition branches.

Definition at line 48 of file abstractsyntaxtree.cpp.

virtual void Stark::Tools::ASTNode::findSuccessorsIntern ( const ASTNode node,
ASTNode **  follower,
ASTNode **  trueBranch,
ASTNode **  falseBranch 
) const [pure virtual]
virtual const ASTCommand* Stark::Tools::ASTNode::getFirstCommand (  )  const [pure virtual]

Find the first command to be executed when running this job.

Implemented in Stark::Tools::ASTBlock, Stark::Tools::ASTCondition, and Stark::Tools::ASTLoop.

virtual Common::Array<const ASTCommand *> Stark::Tools::ASTNode::listCommands ( uint16  index  )  const [pure virtual]

Recursively list all the commands in the tree with the requested index.

Implemented in Stark::Tools::ASTBlock, Stark::Tools::ASTCondition, and Stark::Tools::ASTLoop.

virtual void Stark::Tools::ASTNode::print ( uint  depth,
DefinitionRegistry definitions 
) [pure virtual]

Print the script source code for this node and its children.

Implemented in Stark::Tools::ASTBlock, Stark::Tools::ASTCondition, and Stark::Tools::ASTLoop.

void Stark::Tools::ASTNode::printWithDepth ( uint  depth,
const Common::String string 
) const [protected]

Definition at line 39 of file abstractsyntaxtree.cpp.


Member Data Documentation

Definition at line 60 of file abstractsyntaxtree.h.


The documentation for this struct was generated from the following files:


Generated on Sat Mar 16 2019 05:07:14 for ResidualVM by doxygen 1.7.1
curved edge   curved edge