RetroArch
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
glslang::HlslGrammar Class Reference

#include <hlslGrammar.h>

Inheritance diagram for glslang::HlslGrammar:
[legend]
Collaboration diagram for glslang::HlslGrammar:
[legend]

Public Member Functions

 HlslGrammar (HlslScanContext &scanner, HlslParseContext &_parseContext)
 
virtual ~HlslGrammar ()
 
bool parse ()
 
- Public Member Functions inherited from glslang::HlslTokenStream
 HlslTokenStream (HlslScanContext &scanner)
 
virtual ~HlslTokenStream ()
 
void advanceToken ()
 
void recedeToken ()
 
bool acceptTokenClass (EHlslTokenClass)
 
EHlslTokenClass peek () const
 
bool peekTokenClass (EHlslTokenClass) const
 
glslang::TBuiltInVariable mapSemantic (const char *upperCase)
 
void pushTokenStream (const TVector< HlslToken > *tokens)
 
void popTokenStream ()
 

Protected Member Functions

 HlslGrammar ()
 
HlslGrammaroperator= (const HlslGrammar &)
 
void expected (const char *)
 
void unimplemented (const char *)
 
bool acceptIdentifier (HlslToken &)
 
bool acceptCompilationUnit ()
 
bool acceptDeclarationList (TIntermNode *&)
 
bool acceptDeclaration (TIntermNode *&)
 
bool acceptControlDeclaration (TIntermNode *&node)
 
bool acceptSamplerDeclarationDX9 (TType &)
 
bool acceptSamplerState ()
 
bool acceptFullySpecifiedType (TType &, const TAttributes &)
 
bool acceptFullySpecifiedType (TType &, TIntermNode *&nodeList, const TAttributes &, bool forbidDeclarators=false)
 
bool acceptQualifier (TQualifier &)
 
bool acceptLayoutQualifierList (TQualifier &)
 
bool acceptType (TType &)
 
bool acceptType (TType &, TIntermNode *&nodeList)
 
bool acceptTemplateVecMatBasicType (TBasicType &)
 
bool acceptVectorTemplateType (TType &)
 
bool acceptMatrixTemplateType (TType &)
 
bool acceptTessellationDeclType (TBuiltInVariable &)
 
bool acceptTessellationPatchTemplateType (TType &)
 
bool acceptStreamOutTemplateType (TType &, TLayoutGeometry &)
 
bool acceptOutputPrimitiveGeometry (TLayoutGeometry &)
 
bool acceptAnnotations (TQualifier &)
 
bool acceptSamplerType (TType &)
 
bool acceptTextureType (TType &)
 
bool acceptSubpassInputType (TType &)
 
bool acceptStructBufferType (TType &)
 
bool acceptTextureBufferType (TType &)
 
bool acceptConstantBufferType (TType &)
 
bool acceptStruct (TType &, TIntermNode *&nodeList)
 
bool acceptStructDeclarationList (TTypeList *&, TIntermNode *&nodeList, TVector< TFunctionDeclarator > &)
 
bool acceptMemberFunctionDefinition (TIntermNode *&nodeList, const TType &, TString &memberName, TFunctionDeclarator &)
 
bool acceptFunctionParameters (TFunction &)
 
bool acceptParameterDeclaration (TFunction &)
 
bool acceptFunctionDefinition (TFunctionDeclarator &, TIntermNode *&nodeList, TVector< HlslToken > *deferredTokens)
 
bool acceptFunctionBody (TFunctionDeclarator &declarator, TIntermNode *&nodeList)
 
bool acceptParenExpression (TIntermTyped *&)
 
bool acceptExpression (TIntermTyped *&)
 
bool acceptInitializer (TIntermTyped *&)
 
bool acceptAssignmentExpression (TIntermTyped *&)
 
bool acceptConditionalExpression (TIntermTyped *&)
 
bool acceptBinaryExpression (TIntermTyped *&, PrecedenceLevel)
 
bool acceptUnaryExpression (TIntermTyped *&)
 
bool acceptPostfixExpression (TIntermTyped *&)
 
bool acceptConstructor (TIntermTyped *&)
 
bool acceptFunctionCall (const TSourceLoc &, TString &name, TIntermTyped *&, TIntermTyped *objectBase)
 
bool acceptArguments (TFunction *, TIntermTyped *&)
 
bool acceptLiteral (TIntermTyped *&)
 
bool acceptSimpleStatement (TIntermNode *&)
 
bool acceptCompoundStatement (TIntermNode *&)
 
bool acceptScopedStatement (TIntermNode *&)
 
bool acceptScopedCompoundStatement (TIntermNode *&)
 
bool acceptStatement (TIntermNode *&)
 
bool acceptNestedStatement (TIntermNode *&)
 
void acceptAttributes (TAttributes &)
 
bool acceptSelectionStatement (TIntermNode *&, const TAttributes &)
 
bool acceptSwitchStatement (TIntermNode *&, const TAttributes &)
 
bool acceptIterationStatement (TIntermNode *&, const TAttributes &)
 
bool acceptJumpStatement (TIntermNode *&)
 
bool acceptCaseLabel (TIntermNode *&)
 
bool acceptDefaultLabel (TIntermNode *&)
 
void acceptArraySpecifier (TArraySizes *&)
 
bool acceptPostDecls (TQualifier &)
 
bool acceptDefaultParameterDeclaration (const TType &, TIntermTyped *&)
 
bool captureBlockTokens (TVector< HlslToken > &tokens)
 
const char * getTypeString (EHlslTokenClass tokenClass) const
 

Protected Attributes

HlslParseContext_parseContext
 
TIntermediateintermediate
 
bool typeIdentifiers
 
- Protected Attributes inherited from glslang::HlslTokenStream
HlslToken token
 

Constructor & Destructor Documentation

◆ HlslGrammar() [1/2]

glslang::HlslGrammar::HlslGrammar ( HlslScanContext scanner,
HlslParseContext _parseContext 
)
inline

◆ ~HlslGrammar()

virtual glslang::HlslGrammar::~HlslGrammar ( )
inlinevirtual

◆ HlslGrammar() [2/2]

glslang::HlslGrammar::HlslGrammar ( )
protected

Member Function Documentation

◆ acceptAnnotations()

bool glslang::HlslGrammar::acceptAnnotations ( TQualifier )
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptArguments()

bool glslang::HlslGrammar::acceptArguments ( TFunction function,
TIntermTyped *&  arguments 
)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptArraySpecifier()

void glslang::HlslGrammar::acceptArraySpecifier ( TArraySizes *&  arraySizes)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptAssignmentExpression()

bool glslang::HlslGrammar::acceptAssignmentExpression ( TIntermTyped *&  node)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptAttributes()

void glslang::HlslGrammar::acceptAttributes ( TAttributes attributes)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptBinaryExpression()

bool glslang::HlslGrammar::acceptBinaryExpression ( TIntermTyped *&  node,
PrecedenceLevel  precedenceLevel 
)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptCaseLabel()

bool glslang::HlslGrammar::acceptCaseLabel ( TIntermNode *&  statement)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptCompilationUnit()

bool glslang::HlslGrammar::acceptCompilationUnit ( )
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptCompoundStatement()

bool glslang::HlslGrammar::acceptCompoundStatement ( TIntermNode *&  retStatement)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptConditionalExpression()

bool glslang::HlslGrammar::acceptConditionalExpression ( TIntermTyped *&  node)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptConstantBufferType()

bool glslang::HlslGrammar::acceptConstantBufferType ( TType type)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptConstructor()

bool glslang::HlslGrammar::acceptConstructor ( TIntermTyped *&  node)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptControlDeclaration()

bool glslang::HlslGrammar::acceptControlDeclaration ( TIntermNode *&  node)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptDeclaration()

bool glslang::HlslGrammar::acceptDeclaration ( TIntermNode *&  nodeList)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptDeclarationList()

bool glslang::HlslGrammar::acceptDeclarationList ( TIntermNode *&  nodeList)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptDefaultLabel()

bool glslang::HlslGrammar::acceptDefaultLabel ( TIntermNode *&  statement)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptDefaultParameterDeclaration()

bool glslang::HlslGrammar::acceptDefaultParameterDeclaration ( const TType type,
TIntermTyped *&  node 
)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptExpression()

bool glslang::HlslGrammar::acceptExpression ( TIntermTyped *&  node)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptFullySpecifiedType() [1/2]

bool glslang::HlslGrammar::acceptFullySpecifiedType ( TType type,
const TAttributes attributes 
)
protected
Here is the caller graph for this function:

◆ acceptFullySpecifiedType() [2/2]

bool glslang::HlslGrammar::acceptFullySpecifiedType ( TType type,
TIntermNode *&  nodeList,
const TAttributes attributes,
bool  forbidDeclarators = false 
)
protected
Here is the call graph for this function:

◆ acceptFunctionBody()

bool glslang::HlslGrammar::acceptFunctionBody ( TFunctionDeclarator declarator,
TIntermNode *&  nodeList 
)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptFunctionCall()

bool glslang::HlslGrammar::acceptFunctionCall ( const TSourceLoc loc,
TString name,
TIntermTyped *&  node,
TIntermTyped objectBase 
)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptFunctionDefinition()

bool glslang::HlslGrammar::acceptFunctionDefinition ( TFunctionDeclarator declarator,
TIntermNode *&  nodeList,
TVector< HlslToken > *  deferredTokens 
)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptFunctionParameters()

bool glslang::HlslGrammar::acceptFunctionParameters ( TFunction function)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptIdentifier()

bool glslang::HlslGrammar::acceptIdentifier ( HlslToken idToken)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptInitializer()

bool glslang::HlslGrammar::acceptInitializer ( TIntermTyped *&  node)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptIterationStatement()

bool glslang::HlslGrammar::acceptIterationStatement ( TIntermNode *&  statement,
const TAttributes attributes 
)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptJumpStatement()

bool glslang::HlslGrammar::acceptJumpStatement ( TIntermNode *&  statement)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptLayoutQualifierList()

bool glslang::HlslGrammar::acceptLayoutQualifierList ( TQualifier qualifier)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptLiteral()

bool glslang::HlslGrammar::acceptLiteral ( TIntermTyped *&  node)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptMatrixTemplateType()

bool glslang::HlslGrammar::acceptMatrixTemplateType ( TType type)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptMemberFunctionDefinition()

bool glslang::HlslGrammar::acceptMemberFunctionDefinition ( TIntermNode *&  nodeList,
const TType type,
TString memberName,
TFunctionDeclarator declarator 
)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptNestedStatement()

bool glslang::HlslGrammar::acceptNestedStatement ( TIntermNode *&  )
protected

◆ acceptOutputPrimitiveGeometry()

bool glslang::HlslGrammar::acceptOutputPrimitiveGeometry ( TLayoutGeometry geometry)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptParameterDeclaration()

bool glslang::HlslGrammar::acceptParameterDeclaration ( TFunction function)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptParenExpression()

bool glslang::HlslGrammar::acceptParenExpression ( TIntermTyped *&  expression)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptPostDecls()

bool glslang::HlslGrammar::acceptPostDecls ( TQualifier qualifier)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptPostfixExpression()

bool glslang::HlslGrammar::acceptPostfixExpression ( TIntermTyped *&  node)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptQualifier()

bool glslang::HlslGrammar::acceptQualifier ( TQualifier qualifier)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptSamplerDeclarationDX9()

bool glslang::HlslGrammar::acceptSamplerDeclarationDX9 ( TType )
protected
Here is the call graph for this function:

◆ acceptSamplerState()

bool glslang::HlslGrammar::acceptSamplerState ( )
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptSamplerType()

bool glslang::HlslGrammar::acceptSamplerType ( TType type)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptScopedCompoundStatement()

bool glslang::HlslGrammar::acceptScopedCompoundStatement ( TIntermNode *&  statement)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptScopedStatement()

bool glslang::HlslGrammar::acceptScopedStatement ( TIntermNode *&  statement)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptSelectionStatement()

bool glslang::HlslGrammar::acceptSelectionStatement ( TIntermNode *&  statement,
const TAttributes attributes 
)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptSimpleStatement()

bool glslang::HlslGrammar::acceptSimpleStatement ( TIntermNode *&  statement)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptStatement()

bool glslang::HlslGrammar::acceptStatement ( TIntermNode *&  statement)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptStreamOutTemplateType()

bool glslang::HlslGrammar::acceptStreamOutTemplateType ( TType type,
TLayoutGeometry geometry 
)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptStruct()

bool glslang::HlslGrammar::acceptStruct ( TType type,
TIntermNode *&  nodeList 
)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptStructBufferType()

bool glslang::HlslGrammar::acceptStructBufferType ( TType type)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptStructDeclarationList()

bool glslang::HlslGrammar::acceptStructDeclarationList ( TTypeList *&  typeList,
TIntermNode *&  nodeList,
TVector< TFunctionDeclarator > &  declarators 
)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptSubpassInputType()

bool glslang::HlslGrammar::acceptSubpassInputType ( TType type)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptSwitchStatement()

bool glslang::HlslGrammar::acceptSwitchStatement ( TIntermNode *&  statement,
const TAttributes attributes 
)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptTemplateVecMatBasicType()

bool glslang::HlslGrammar::acceptTemplateVecMatBasicType ( TBasicType basicType)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptTessellationDeclType()

bool glslang::HlslGrammar::acceptTessellationDeclType ( TBuiltInVariable patchType)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptTessellationPatchTemplateType()

bool glslang::HlslGrammar::acceptTessellationPatchTemplateType ( TType type)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptTextureBufferType()

bool glslang::HlslGrammar::acceptTextureBufferType ( TType type)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptTextureType()

bool glslang::HlslGrammar::acceptTextureType ( TType type)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptType() [1/2]

bool glslang::HlslGrammar::acceptType ( TType type)
protected
Here is the caller graph for this function:

◆ acceptType() [2/2]

bool glslang::HlslGrammar::acceptType ( TType type,
TIntermNode *&  nodeList 
)
protected
Here is the call graph for this function:

◆ acceptUnaryExpression()

bool glslang::HlslGrammar::acceptUnaryExpression ( TIntermTyped *&  node)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ acceptVectorTemplateType()

bool glslang::HlslGrammar::acceptVectorTemplateType ( TType type)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ captureBlockTokens()

bool glslang::HlslGrammar::captureBlockTokens ( TVector< HlslToken > &  tokens)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ expected()

void glslang::HlslGrammar::expected ( const char *  syntax)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getTypeString()

const char * glslang::HlslGrammar::getTypeString ( EHlslTokenClass  tokenClass) const
protected
Here is the caller graph for this function:

◆ operator=()

HlslGrammar& glslang::HlslGrammar::operator= ( const HlslGrammar )
protected

◆ parse()

bool glslang::HlslGrammar::parse ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ unimplemented()

void glslang::HlslGrammar::unimplemented ( const char *  error)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ _parseContext

HlslParseContext& glslang::HlslGrammar::_parseContext
protected

◆ intermediate

TIntermediate& glslang::HlslGrammar::intermediate
protected

◆ typeIdentifiers

bool glslang::HlslGrammar::typeIdentifiers
protected

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