zenilib  0.5.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
TIntermediate Class Reference

#include <localintermediate.h>

Public Member Functions

 TIntermediate (TInfoSink &i)
 
TIntermTypedaddAssign (TOperator op, TIntermTyped *left, TIntermTyped *right, const TSourceLoc &)
 
TIntermTypedaddBinaryMath (TOperator op, TIntermTyped *left, TIntermTyped *right, const TSourceLoc &, TSymbolTable &)
 
TIntermBranchaddBranch (TOperator, const TSourceLoc &)
 
TIntermBranchaddBranch (TOperator, TIntermTyped *, const TSourceLoc &)
 
TIntermTypedaddComma (TIntermTyped *left, TIntermTyped *right, const TSourceLoc &)
 
TIntermConstantUnionaddConstantUnion (ConstantUnion *, const TType &, const TSourceLoc &)
 
TIntermTypedaddConversion (TOperator, const TType &, TIntermTyped *)
 
TIntermTypedaddIndex (TOperator op, TIntermTyped *base, TIntermTyped *index, const TSourceLoc &)
 
TIntermNodeaddLoop (TLoopType, TIntermNode *, TIntermTyped *, TIntermTyped *, TIntermNode *, const TSourceLoc &)
 
TIntermNodeaddSelection (TIntermTyped *cond, TIntermNodePair code, const TSourceLoc &)
 
TIntermTypedaddSelection (TIntermTyped *cond, TIntermTyped *trueBlock, TIntermTyped *falseBlock, const TSourceLoc &)
 
TIntermTypedaddSwizzle (TVectorFields &, const TSourceLoc &)
 
TIntermSymboladdSymbol (int Id, const TString &, const TType &, const TSourceLoc &)
 
TIntermTypedaddUnaryMath (TOperator op, TIntermNode *child, const TSourceLoc &, TSymbolTable &)
 
TIntermAggregategrowAggregate (TIntermNode *left, TIntermNode *right, const TSourceLoc &)
 
TIntermAggregatemakeAggregate (TIntermNode *node, const TSourceLoc &)
 
void outputTree (TIntermNode *)
 
bool parseConstTree (const TSourceLoc &, TIntermNode *, ConstantUnion *, TOperator, TSymbolTable &, TType, bool singleConstantParam=false)
 
 POOL_ALLOCATOR_NEW_DELETE ()
 
bool postProcess (TIntermNode *)
 
TIntermTypedpromoteConstantUnion (TBasicType, TIntermConstantUnion *)
 
void remove (TIntermNode *)
 
TIntermAggregatesetAggregateOperator (TIntermNode *, TOperator, const TSourceLoc &)
 

Detailed Description

Definition at line 23 of file localintermediate.h.

Constructor & Destructor Documentation

TIntermediate::TIntermediate ( TInfoSink i)
inline

Definition at line 26 of file localintermediate.h.

Member Function Documentation

TIntermBranch * TIntermediate::addBranch ( TOperator  branchOp,
const TSourceLoc line 
)

Definition at line 698 of file Intermediate.cpp.

TIntermBranch * TIntermediate::addBranch ( TOperator  branchOp,
TIntermTyped expression,
const TSourceLoc line 
)

Definition at line 703 of file Intermediate.cpp.

References TIntermNode::setLine().

TIntermTyped * TIntermediate::addIndex ( TOperator  op,
TIntermTyped base,
TIntermTyped index,
const TSourceLoc line 
)
TIntermNode * TIntermediate::addLoop ( TLoopType  type,
TIntermNode init,
TIntermTyped cond,
TIntermTyped expr,
TIntermNode body,
const TSourceLoc line 
)

Definition at line 687 of file Intermediate.cpp.

References TIntermNode::setLine().

TIntermSymbol * TIntermediate::addSymbol ( int  Id,
const TString name,
const TType type,
const TSourceLoc line 
)

Definition at line 134 of file Intermediate.cpp.

References TIntermNode::setLine().

Referenced by TParseContext::executeInitializer().

TIntermAggregate * TIntermediate::growAggregate ( TIntermNode left,
TIntermNode right,
const TSourceLoc line 
)
TIntermAggregate * TIntermediate::makeAggregate ( TIntermNode node,
const TSourceLoc line 
)

Definition at line 553 of file Intermediate.cpp.

References TIntermAggregate::getSequence(), and TIntermNode::setLine().

void TIntermediate::outputTree ( TIntermNode root)

Definition at line 416 of file intermOut.cpp.

References TInfoSink::info, and TIntermNode::traverse().

Referenced by TCompiler::compile().

bool TIntermediate::parseConstTree ( const TSourceLoc line,
TIntermNode root,
ConstantUnion unionArray,
TOperator  constructorType,
TSymbolTable symbolTable,
TType  t,
bool  singleConstantParam = false 
)

Definition at line 233 of file parseConst.cpp.

References TIntermNode::traverse().

Referenced by TParseContext::foldConstConstructor().

TIntermediate::POOL_ALLOCATOR_NEW_DELETE ( )
bool TIntermediate::postProcess ( TIntermNode root)
void TIntermediate::remove ( TIntermNode root)

Definition at line 733 of file Intermediate.cpp.

References RemoveAllTreeNodes().

Referenced by TCompiler::compile().


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