C# Class ShaderTools.Hlsl.Parser.HlslParser

Exibir arquivo Open project: tgjones/HlslTools Class Usage Examples

Public Methods

Method Description
ParseExpression ( ) : ExpressionSyntax
ParseStatement ( ) : StatementSyntax

Protected Methods

Method Description
ParseIdentifier ( ) : IdentifierNameSyntax

Private Methods

Method Description
CanStartGlobalDeclaration ( SyntaxKind kind ) : bool
IsPossibleClassMember ( ) : bool
IsPossibleDeclarationStatement ( ) : bool
IsPossibleExpression ( ) : bool
IsPossibleFunctionDeclaration ( ) : bool
IsPossibleGlobalDeclarationStart ( ) : bool
IsPossibleGlobalDeclarationStartOrStop ( ) : bool
IsPossibleParameter ( ) : bool
IsPossiblePassStatement ( ) : bool
IsPossibleStateProperty ( ) : bool
IsPossibleStatement ( ) : bool
IsPossibleStatementStartOrStop ( ) : bool
IsPossibleSwitchSection ( ) : bool
IsPossibleVariableDeclarationStatement ( ) : bool
IsPossibleVariableDeclaratorQualifier ( SyntaxToken token ) : bool
IsPossibleVariableInitializer ( ) : bool
IsTerminator ( ) : bool
ParseArgumentList ( SyntaxKind openKind, SyntaxKind closeKind, bool atLeastOneArg, SyntaxToken &openToken, SeparatedSyntaxList &arguments, SyntaxToken &closeToken ) : void
ParseArrayInitializer ( ) : ArrayInitializerExpressionSyntax
ParseArrayRankSpecifier ( bool expectSize ) : ArrayRankSpecifierSyntax
ParseArrayRankSpecifiers ( List list, bool expectSize ) : void
ParseBaseList ( ) : BaseListSyntax
ParseBlock ( List attributes ) : BlockSyntax
ParseBreakStatement ( List attributes ) : BreakStatementSyntax
ParseBufferType ( SyntaxToken token ) : PredefinedObjectTypeSyntax
ParseCastOrParenthesizedExpression ( ) : ExpressionSyntax
ParseClassMember ( ) : SyntaxNode
ParseClassType ( ) : ClassTypeSyntax
ParseConstantBuffer ( ) : ConstantBufferSyntax
ParseContinueStatement ( List attributes ) : ContinueStatementSyntax
ParseDeclarationModifiers ( List list ) : void
ParseDeclarationName ( bool declarationOnly ) : DeclarationNameSyntax
ParseDeclarationStatement ( ) : StatementSyntax
ParseDiscardStatement ( List attributes ) : DiscardStatementSyntax
ParseDoStatement ( List attributes ) : DoStatementSyntax
ParseEmbeddedStatement ( ) : StatementSyntax
ParseExpectedScalarType ( ) : ScalarTypeSyntax
ParseExpressionStatement ( List attributes ) : ExpressionStatementSyntax
ParseForStatement ( List attributes ) : ForStatementSyntax
ParseFunctionDeclaration ( ) : FunctionDeclarationSyntax
ParseFunctionDefinitionOrDeclaration ( bool declarationOnly ) : SyntaxNode
ParseFunctionInvocationExpression ( NameSyntax name ) : FunctionInvocationExpressionSyntax
ParseGenericMatrixType ( SyntaxToken matrixKeyword ) : GenericMatrixTypeSyntax
ParseGenericVectorType ( SyntaxToken vectorKeyword ) : GenericVectorTypeSyntax
ParseIdentifierOrFunctionInvocationExpression ( ) : ExpressionSyntax
ParseIfStatement ( List attributes ) : IfStatementSyntax
ParseInterfaceType ( ) : InterfaceTypeSyntax
ParseMatrixType ( SyntaxToken typeToken ) : MatrixTypeSyntax
ParseMultisampledTextureType ( SyntaxToken token ) : PredefinedObjectTypeSyntax
ParseName ( ) : NameSyntax
ParseNumericConstructorInvocationExpression ( ) : NumericConstructorInvocationExpressionSyntax
ParseObjectType ( SyntaxToken token ) : PredefinedObjectTypeSyntax
ParsePackOffsetLocation ( ) : PackOffsetLocation
ParseParameter ( ) : ParameterSyntax
ParseParameterModifiers ( List list ) : void
ParseParenthesizedArgumentList ( bool atLeastOneArg ) : ArgumentListSyntax
ParsePass ( ) : PassSyntax
ParsePassStatement ( ) : ExpressionStatementSyntax
ParsePatchType ( SyntaxToken token ) : PredefinedObjectTypeSyntax
ParsePostFixExpression ( ExpressionSyntax expr ) : ExpressionSyntax
ParsePredefinedType ( bool allowVoid, bool parentIsParameter ) : PredefinedTypeSyntax
ParsePrefixUnaryExpression ( SyntaxKind unaryExpression ) : ExpressionSyntax
ParseRegisterLocation ( ) : RegisterLocation
ParseReturnStatement ( List attributes ) : ReturnStatementSyntax
ParseReturnType ( ) : TypeSyntax
ParseSamplerStateInitializer ( ) : SamplerStateInitializerSyntax
ParseScalarOrVectorOrMatrixOrUserDefinedType ( ) : TypeSyntax
ParseScalarOrVectorOrUserDefinedType ( ) : TypeSyntax
ParseScalarOrVectorType ( ) : NumericTypeSyntax
ParseScalarType ( SyntaxToken token ) : ScalarTypeSyntax
ParseSemantic ( ) : SemanticSyntax
ParseStateArrayInitializer ( ) : StateArrayInitializerSyntax
ParseStateInitializer ( ) : StateInitializerSyntax
ParseStateProperty ( ) : StatePropertySyntax
ParseStatementNoDeclaration ( ) : StatementSyntax

Parses any statement but a declaration statement. Returns null if the lookahead looks like a declaration.

Variable declarations in global code are parsed as field declarations so we need to fallback if we encounter a declaration statement.

ParseStatements ( List statements, bool stopOnSwitchSections ) : void
ParseStreamOutputType ( SyntaxToken token ) : PredefinedObjectTypeSyntax
ParseStructType ( ) : StructTypeSyntax
ParseStructuredBufferType ( SyntaxToken token ) : PredefinedObjectTypeSyntax
ParseSubExpression ( uint precedence ) : ExpressionSyntax
ParseSwitchSection ( ) : SwitchSectionSyntax
ParseSwitchStatement ( List attributes ) : SwitchStatementSyntax
ParseTechnique ( ) : TechniqueSyntax
ParseTemplateArgumentList ( ) : TemplateArgumentListSyntax
ParseTemplatedConstantBufferType ( SyntaxToken token ) : PredefinedObjectTypeSyntax
ParseTerm ( ) : ExpressionSyntax
ParseTextureType ( SyntaxToken token ) : PredefinedObjectTypeSyntax
ParseType ( bool parentIsParameter ) : TypeSyntax
ParseTypeAlias ( ) : TypeAliasSyntax
ParseTypeAliases ( List variables ) : void
ParseTypeForCast ( List &arrayRankSpecifiers ) : TypeSyntax
ParseUnderlyingType ( bool allowVoid, bool parentIsParameter ) : TypeSyntax
ParseVariableDeclaration ( ) : VariableDeclarationSyntax
ParseVariableDeclaration ( TypeSyntax &type, List variables ) : void
ParseVariableDeclarationStatement ( ) : VariableDeclarationStatementSyntax
ParseVariableDeclarator ( TypeSyntax parentType, bool isExpressionContext = false ) : VariableDeclaratorSyntax
ParseVariableDeclaratorQualifier ( ) : VariableDeclaratorQualifierSyntax
ParseVariableDeclarators ( TypeSyntax type, List variables, bool variableDeclarationsExpected ) : void
ParseVariableInitializer ( ) : ExpressionSyntax
ParseVectorType ( SyntaxToken typeToken ) : VectorTypeSyntax
ParseWhileStatement ( List attributes ) : WhileStatementSyntax
ScanCast ( ) : bool
ScanNonArrayType ( SyntaxToken &lastTokenOfType ) : ScanTypeFlags
ScanType ( ) : ScanTypeFlags
ScanType ( SyntaxToken &lastTokenOfType ) : ScanTypeFlags
SkipBadStatementListTokens ( SyntaxKind expected ) : PostSkipAction
SkipBadTokens ( bool>.Func isNotExpectedFunction, bool>.Func abortFunction, SyntaxKind expected = null ) : PostSkipAction

Method Details

ParseExpression() public method

public ParseExpression ( ) : ExpressionSyntax
return ShaderTools.Hlsl.Syntax.ExpressionSyntax

ParseIdentifier() protected method

protected ParseIdentifier ( ) : IdentifierNameSyntax
return IdentifierNameSyntax

ParseStatement() public method

public ParseStatement ( ) : StatementSyntax
return ShaderTools.Hlsl.Syntax.StatementSyntax