33#ifndef TTA_OPERATION_DAG_BUILDER_HH
34#define TTA_OPERATION_DAG_BUILDER_HH
void parseNode(const TokenizerData::TokenTreeNode *node)
const OperationPimpl & operation_
std::map< long, VariableBinding > constantBindings_
Node representing constant value.
unsigned int getIOOperand(const TokenizerData::TokenTreeNode *var)
OperationDAG * dag_
DAG where all nodes and edges are added.
std::pair< TerminalNode *, unsigned int > TerminalBinding
Information of object and index of operand of a variable.
VariableBinding & getBinding(const TokenizerData::TokenTreeNode *var)
std::string getVariableName(const TokenizerData::TokenTreeNode *var)
void connectOperandToNode(const TokenizerData::TokenTreeNode *var, unsigned int operandIndex)
OperationNode * currentOperation_
Currently created handled operation.
void declareVariable(const TokenizerData::TokenTreeNode *var)
void createOperationNode(const std::string &operation)
std::map< std::string, VariableBinding > variableBindings_
Node and operand which are referred by IO(x) or declared variable.
VariableBinding & getConstantBinding(long value)
std::pair< OperationDAGNode *, int > VariableBinding
Node and operand which is referred by a variable.
const TokenizerData::TokenTreeNode & rootNode_
Root of tokenized data parsed from OSAL DAG source code.
std::map< std::string, TerminalBinding > ioVariables_
IO(x) variables and corresponding TerminalNodes and operand indices.
void assignVariable(const TokenizerData::TokenTreeNode *dst, VariableBinding &src)