zenilib
0.5.3.0
|
#include <SymbolTable.h>
Public Member Functions | |
TSymbolTable () | |
~TSymbolTable () | |
bool | atBuiltInLevel () |
bool | atGlobalLevel () |
void | dump (TInfoSink &infoSink) const |
TSymbol * | find (const TString &name, bool *builtIn=0, bool *sameScope=0) |
TSymbol * | findBuiltIn (const TString &name) |
TPrecision | getDefaultPrecision (TBasicType type) |
TSymbolTableLevel * | getGlobalLevel () |
int | getMaxSymbolId () |
TSymbolTableLevel * | getOuterLevel () |
bool | insert (TSymbol &symbol) |
bool | insertBuiltIn (TType *rvalue, const char *name, TType *ptype1, TType *ptype2=0, TType *ptype3=0) |
bool | insertConstInt (const char *name, int value) |
bool | isEmpty () |
void | pop () |
void | push () |
void | relateToExtension (const char *name, const TString &ext) |
void | relateToOperator (const char *name, TOperator op) |
bool | setDefaultPrecision (const TPublicType &type, TPrecision prec) |
Protected Types | |
typedef std::map< TBasicType, TPrecision > | PrecisionStackLevel |
Protected Member Functions | |
int | currentLevel () const |
Protected Attributes | |
std::vector< PrecisionStackLevel > | precisionStack |
std::vector< TSymbolTableLevel * > | table |
int | uniqueId |
Definition at line 237 of file SymbolTable.h.
|
protected |
Definition at line 385 of file SymbolTable.h.
|
inline |
Definition at line 239 of file SymbolTable.h.
|
inline |
Definition at line 248 of file SymbolTable.h.
References pop().
|
inline |
Definition at line 261 of file SymbolTable.h.
Referenced by TCompiler::compile(), and TParseContext::reservedErrorCheck().
|
inline |
Definition at line 262 of file SymbolTable.h.
Referenced by TCompiler::compile().
|
inlineprotected |
Definition at line 382 of file SymbolTable.h.
Referenced by dump(), find(), getOuterLevel(), insert(), and pop().
Definition at line 151 of file SymbolTable.cpp.
References currentLevel(), and TInfoSink::debug.
|
inline |
Definition at line 311 of file SymbolTable.h.
References currentLevel().
Referenced by TParseContext::arrayErrorCheck(), TParseContext::executeInitializer(), and TParseContext::findFunction().
Definition at line 327 of file SymbolTable.h.
Referenced by TOutputGLSLBase::hashFunctionName(), TOutputGLSLBase::hashVariableName(), and TOutputGLSLBase::visitBinary().
|
inline |
Definition at line 364 of file SymbolTable.h.
References assert, EbpUndefined, EbtFloat, EbtInt, prec, and precisionStack.
|
inline |
Definition at line 332 of file SymbolTable.h.
References assert.
|
inline |
Definition at line 348 of file SymbolTable.h.
References uniqueId.
|
inline |
Definition at line 337 of file SymbolTable.h.
References assert, and currentLevel().
|
inline |
Definition at line 276 of file SymbolTable.h.
References currentLevel(), TSymbol::setUniqueId(), and uniqueId.
Referenced by TParseContext::arrayErrorCheck(), TParseContext::executeInitializer(), IdentifyBuiltIns(), insertBuiltIn(), InsertBuiltInFunctions(), insertConstInt(), and TParseContext::nonInitErrorCheck().
|
inline |
Definition at line 289 of file SymbolTable.h.
References insert(), NewPoolTString(), and NULL.
Referenced by InsertBuiltInFunctions().
Definition at line 282 of file SymbolTable.h.
References EbpUndefined, EbtInt, EvqConst, TVariable::getConstPointer(), insert(), NewPoolTString(), and ConstantUnion::setIConst().
Referenced by InsertBuiltInFunctions().
|
inline |
Definition at line 260 of file SymbolTable.h.
Referenced by TCompiler::InitBuiltInSymbolTable().
|
inline |
Definition at line 269 of file SymbolTable.h.
References currentLevel(), and precisionStack.
Referenced by TCompiler::compile(), and ~TSymbolTable().
|
inline |
Definition at line 263 of file SymbolTable.h.
References precisionStack.
Referenced by TCompiler::compile(), and TCompiler::InitBuiltInSymbolTable().
Definition at line 345 of file SymbolTable.h.
Referenced by IdentifyBuiltIns().
Definition at line 342 of file SymbolTable.h.
Referenced by IdentifyBuiltIns().
|
inline |
Definition at line 351 of file SymbolTable.h.
References TPublicType::array, EbtFloat, EbtInt, IsSampler(), TPublicType::matrix, prec, precisionStack, TPublicType::size, and TPublicType::type.
Referenced by TCompiler::InitBuiltInSymbolTable().
|
protected |
Definition at line 386 of file SymbolTable.h.
Referenced by getDefaultPrecision(), pop(), push(), and setDefaultPrecision().
|
protected |
Definition at line 384 of file SymbolTable.h.
|
protected |
Definition at line 387 of file SymbolTable.h.
Referenced by getMaxSymbolId(), and insert().