6 #ifndef _PARSER_HELPER_INCLUDED_
7 #define _PARSER_HELPER_INCLUDED_
34 sourcePath(sourcePath),
66 void error(
const TSourceLoc& loc,
const char *reason,
const char* token,
67 const char* extraInfo=
"");
69 const char* extraInfo=
"");
134 #endif // _PARSER_HELPER_INCLUDED_
void error(const TSourceLoc &loc, const char *reason, const char *token, const char *extraInfo="")
bool lValueErrorCheck(const TSourceLoc &line, const char *op, TIntermTyped *)
TSymbolTable & symbolTable
bool checksPrecisionErrors
pp::Preprocessor preprocessor
TIntermTyped * foldConstConstructor(TIntermAggregate *aggrNode, const TType &type)
std::map< std::string, TBehavior > TExtensionBehavior
GLint GLenum GLsizei GLsizei GLsizei GLint GLenum GLenum type
bool voidErrorCheck(const TSourceLoc &, const TString &, const TPublicType &)
bool arraySizeErrorCheck(const TSourceLoc &line, TIntermTyped *expr, int &size)
TIntermTyped * addConstructor(TIntermNode *, const TType *, TOperator, TFunction *, const TSourceLoc &)
void warning(const TSourceLoc &loc, const char *reason, const char *token, const char *extraInfo="")
TIntermTyped * constructBuiltIn(const TType *, TOperator, TIntermNode *, const TSourceLoc &, bool subset)
TDirectiveHandler directiveHandler
bool fragmentPrecisionHigh
TIntermTyped * addConstStruct(TString &, TIntermTyped *, const TSourceLoc &)
bool executeInitializer(const TSourceLoc &line, TString &identifier, TPublicType &pType, TIntermTyped *initializer, TIntermNode *&intermNode, TVariable *variable=0)
bool globalErrorCheck(const TSourceLoc &line, bool global, const char *token)
void binaryOpError(const TSourceLoc &line, const char *op, TString left, TString right)
const TPragma & pragma() const
void unaryOpError(const TSourceLoc &line, const char *op, TString operand)
bool extensionErrorCheck(const TSourceLoc &line, const TString &)
int PaParseStrings(size_t count, const char *const string[], const int length[], TParseContext *context)
bool reservedErrorCheck(const TSourceLoc &line, const TString &identifier)
const TFunction * findFunction(const TSourceLoc &line, TFunction *pfnCall, bool *builtIn=0)
const TType * currentFunctionType
void exitStructDeclaration()
void assignError(const TSourceLoc &line, const char *op, TString left, TString right)
bool constErrorCheck(TIntermTyped *node)
TIntermTyped * addConstVectorNode(TVectorFields &, TIntermTyped *, const TSourceLoc &)
bool functionReturnsValue
bool samplerErrorCheck(const TSourceLoc &line, const TPublicType &pType, const char *reason)
bool supportsExtension(const char *extension)
bool containsSampler(TType &type)
void trace(const char *str)
TIntermediate & intermediate
TIntermTyped * addIndexExpression(TIntermTyped *baseExpression, const TSourceLoc &location, TIntermTyped *indexExpression)
bool boolErrorCheck(const TSourceLoc &, const TIntermTyped *)
std::basic_string< char, std::char_traits< char >, TStringAllocator > TString
bool areAllChildConst(TIntermAggregate *aggrNode)
bool parameterSamplerErrorCheck(const TSourceLoc &line, TQualifier qualifier, const TType &type)
bool precisionErrorCheck(const TSourceLoc &line, TPrecision precision, TBasicType type)
bool arrayErrorCheck(const TSourceLoc &line, TString &identifier, TPublicType type, TVariable *&variable)
bool arrayTypeErrorCheck(const TSourceLoc &line, TPublicType type)
const TExtensionBehavior & extensionBehavior() const
TIntermTyped * addConstArrayNode(int index, TIntermTyped *node, const TSourceLoc &line)
TIntermTyped * addConstMatrixNode(int, TIntermTyped *, const TSourceLoc &)
bool integerErrorCheck(TIntermTyped *node, const char *token)
bool nonInitConstErrorCheck(const TSourceLoc &line, TString &identifier, TPublicType &type, bool array)
GLenum GLint GLint * precision
bool parseVectorFields(const TString &, int vecSize, TVectorFields &, const TSourceLoc &line)
TIntermTyped * constructStruct(TIntermNode *, TType *, int, const TSourceLoc &, bool subset)
bool enterStructDeclaration(const TSourceLoc &line, const TString &identifier)
bool paramErrorCheck(const TSourceLoc &line, TQualifier qualifier, TQualifier paramQualifier, TType *type)
TParseContext(TSymbolTable &symt, TExtensionBehavior &ext, TIntermediate &interm, ShShaderType type, ShShaderSpec spec, int options, bool checksPrecErrors, const char *sourcePath, TInfoSink &is)
const TPragma & pragma() const
bool arrayQualifierErrorCheck(const TSourceLoc &line, TPublicType type)
const TExtensionBehavior & extensionBehavior() const
bool isExtensionEnabled(const char *extension) const
bool structQualifierErrorCheck(const TSourceLoc &line, const TPublicType &pType)
bool constructorErrorCheck(const TSourceLoc &line, TIntermNode *, TFunction &, TOperator, TType *)
bool structNestingErrorCheck(const TSourceLoc &line, const TField &field)
bool nonInitErrorCheck(const TSourceLoc &line, TString &identifier, TPublicType &type, TVariable *&variable)
bool parseMatrixFields(const TString &, int matSize, TMatrixFields &, const TSourceLoc &line)