Paradox Game Engine  v1.0.0 beta06
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros Pages
SiliconStudio.Shaders.Grammar.ShaderGrammar Class Reference

Methods used to create the Abstract Syntax Tree.. More...

Inheritance diagram for SiliconStudio.Shaders.Grammar.ShaderGrammar:
Irony.Parsing.Grammar SiliconStudio.Shaders.Grammar.Hlsl.HlslGrammar SiliconStudio.Paradox.Shaders.Parser.Grammar.ParadoxGrammar

Public Attributes

readonly Terminal single_line_comment = new Terminal("single_line_comment", Irony.Parsing.TokenCategory.Comment, TermFlags.IsNonGrammar) { AstNodeConfig = new TokenInfo(TokenCategory.Comment) }
 
readonly Terminal multi_line_comment = new Terminal("multi_line_comment", Irony.Parsing.TokenCategory.Comment, TermFlags.IsNonGrammar) { AstNodeConfig = new TokenInfo(TokenCategory.Comment) }
 
readonly Terminal float_literal = new Terminal("float_literal") { AstNodeConfig = new TokenInfo(TokenCategory.Number) }
 
readonly Terminal integer_literal = new Terminal("integer_literal") { AstNodeConfig = new TokenInfo(TokenCategory.Number) }
 
readonly NonTerminal number = TT("number")
 
readonly Terminal identifier_raw = new Terminal("identifier") { AstNodeConfig = new TokenInfo(TokenCategory.Identifier) }
 
readonly NonTerminal identifier = TT("identifier")
 
readonly NonTerminal boolean = T("boolean", (context, node) => node.AstNode = bool.Parse(node.ChildNodes[0].Token.Text))
 
readonly Terminal unknown = new Terminal("unknown", Irony.Parsing.TokenCategory.Content)
 
readonly Terminal whitespace = new Terminal("whitespace", Irony.Parsing.TokenCategory.Content, TermFlags.IsNonGrammar) { AstNodeConfig = new TokenInfo(TokenCategory.WhiteSpace) }
 
readonly Terminal newline = new Terminal("newline", Irony.Parsing.TokenCategory.Content, TermFlags.IsNonGrammar) { AstNodeConfig = new TokenInfo(TokenCategory.WhiteSpace)}
 
- Public Attributes inherited from Irony.Parsing.Grammar
readonly bool CaseSensitive = true
 Gets case sensitivity of the grammar. Read-only, true by default. Can be set to false only through a parameter to grammar constructor. More...
 
readonly StringComparer LanguageStringComparer
 
string Delimiters = null
 
string WhitespaceChars = " \t\r\n\v"
 
string LineTerminators = "\n\r\v"
 
LanguageFlags LanguageFlags = LanguageFlags.Default
 
TermReportGroupList TermReportGroups = new TermReportGroupList()
 
readonly TerminalSet NonGrammarTerminals = new TerminalSet()
 
readonly TerminalSet FallbackTerminals = new TerminalSet()
 
Type DefaultNodeType
 
NonTerminal Root
 The main root entry for the grammar. More...
 
Func< ScannerScannerBuilder
 
NonTerminalSet SnippetRoots = new NonTerminalSet()
 
string GrammarComments
 
CultureInfo DefaultCulture = CultureInfo.InvariantCulture
 
string ConsoleTitle
 
string ConsoleGreeting
 
string ConsolePrompt
 
string ConsolePromptMoreInput
 
readonly Terminal Empty = new Terminal("EMPTY")
 
readonly Terminal NewLine = new Terminal("LF")
 
readonly Terminal Indent = new Terminal("INDENT", TokenCategory.Outline, TermFlags.IsNonScanner)
 
readonly Terminal Dedent = new Terminal("DEDENT", TokenCategory.Outline, TermFlags.IsNonScanner)
 
readonly Terminal Eos = new Terminal("EOS", Resources.LabelEosLabel, TokenCategory.Outline, TermFlags.IsNonScanner)
 
readonly Terminal Eof = new Terminal("EOF", TokenCategory.Outline)
 
readonly Terminal LineStartTerminal = new Terminal("LINE_START", TokenCategory.Outline)
 
readonly Terminal SyntaxError = new Terminal("SYNTAX_ERROR", TokenCategory.Error, TermFlags.IsNonScanner)
 
KeyTermTable KeyTerms
 

Protected Member Functions

virtual void CreateParameterAst (ParsingContext context, ParseTreeNode node)
 The create parameter ast. More...
 
void CreateFloatLiteral (ParsingContext context, ParseTreeNode node)
 The create float literal. More...
 
void CreateIntegerLiteral (ParsingContext context, ParseTreeNode node)
 The create integer literal. More...
 
virtual void CreateStorageQualifier (ParsingContext context, ParseTreeNode node)
 The create storage qualifier. More...
 
virtual void CreateVariableDeclaratorAst (ParsingContext parsingcontext, ParseTreeNode node)
 The create variable declarator ast. More...
 
virtual void CreateVariableDeclaratorRawAst (ParsingContext parsingcontext, ParseTreeNode node)
 The create variable declarator raw ast. More...
 
 ShaderGrammar ()
 Initializes a new instance of the ShaderGrammar class. More...
 
KeyTerm Keyword (string term, bool isCaseInsensitive=false)
 
KeyTerm TypeName (string term)
 
void Term (Terminal terminal, TokenCategory category, TokenType type)
 
KeyTerm Op (string term, TokenType type)
 
KeyTerm Punc (string term, TokenType type)
 
BnfExpression CreateRuleFromObjectTypes (params ObjectType[] types)
 
BnfExpression CreateRuleFromObjectTypes (IEnumerable< ObjectType > types)
 
- Protected Member Functions inherited from Irony.Parsing.Grammar
GrammarHint PreferShiftHere ()
 
GrammarHint ReduceHere ()
 
GrammarHint ResolveInCode ()
 
TokenPreviewHint ReduceIf (string symbol)
 
TokenPreviewHint ShiftIf (string symbol)
 
GrammarHint ImplyPrecedenceHere (int precedence)
 
GrammarHint ImplyPrecedenceHere (int precedence, Associativity associativity)
 
void AddTermsReportGroup (string alias, params string[] symbols)
 Creates a terminal reporting group, so all terminals in the group will be reported as a single "alias" in syntex error messages like "Syntax error, expected: [list of terms]" More...
 
void AddTermsReportGroup (string alias, params Terminal[] terminals)
 Creates a terminal reporting group, so all terminals in the group will be reported as a single "alias" in syntex error messages like "Syntax error, expected: [list of terms]" More...
 
void AddToNoReportGroup (params string[] symbols)
 Adds symbols to a group with no-report type, so symbols will not be shown in expected lists in syntax error messages. More...
 
void AddToNoReportGroup (params Terminal[] terminals)
 Adds symbols to a group with no-report type, so symbols will not be shown in expected lists in syntax error messages. More...
 
void AddOperatorReportGroup (string alias)
 Adds a group and an alias for all operator symbols used in the grammar. More...
 

Static Protected Member Functions

static T Ast< T > (ParseTreeNode node)
 The ast. More...
 
static T AstCompositeEnum< T > (ParseTreeNode node)
 The ast composite enum. More...
 
static Qualifier CollectQualifiers (ParseTreeNode node)
 The collect qualifiers. More...
 
static void CreateArrayInitializerExpressionAst (ParsingContext context, ParseTreeNode node)
 The create array initializer expression ast. More...
 
static void CreateAssignementExpressionAst (ParsingContext parsingcontext, ParseTreeNode node)
 The create assignement expression ast. More...
 
static Expression GetExpression (ParseTreeNode node)
 Gets the expression. More...
 
static void CreateAssignmentOperator (ParsingContext parsingContext, ParseTreeNode node)
 The create assignment operator. More...
 
static void CreateBinaryExpressionAst (ParsingContext parsingcontext, ParseTreeNode node)
 The create binary expression ast. More...
 
static void CreateBlockStatementAst (ParsingContext context, ParseTreeNode node)
 The create block statement ast. More...
 
static void CreateCaseStatementAst (ParsingContext context, ParseTreeNode node)
 The create case statement ast. More...
 
static void CreateConditionalExpressionAst (ParsingContext parsingcontext, ParseTreeNode node)
 The create conditional expression ast. More...
 
static void CreateDeclarationSpecifier (ParsingContext context, ParseTreeNode node)
 The create declaration specifier. More...
 
static void CreateDeclarationStatementAst (ParsingContext context, ParseTreeNode node)
 The create declaration statement ast. More...
 
static void CreateDoWhileStatementAst (ParsingContext context, ParseTreeNode node)
 The create do while statement ast. More...
 
static void CreateExpressionOrEmptyAst (ParsingContext context, ParseTreeNode node)
 The create expression or empty ast. More...
 
static void CreateEmptyStatementAst (ParsingContext context, ParseTreeNode node)
 
static void CreateExpressionStatementAst (ParsingContext context, ParseTreeNode node)
 The create expression statement ast. More...
 
static void CreateForStatementAst (ParsingContext context, ParseTreeNode node)
 The create for statement ast. More...
 
static void CreateIdentifierAst (ParsingContext parsingcontext, ParseTreeNode node)
 The create identifier ast. More...
 
static void CreateIdentifierIndexableAst (ParsingContext parsingcontext, ParseTreeNode node)
 The create identifier indexable ast. More...
 
static void CreateIdentifierListAst (ParsingContext parsingcontext, ParseTreeNode node)
 The create identifier list ast. More...
 
static void CreateIfStatementAst (ParsingContext context, ParseTreeNode node)
 The create if statement ast. More...
 
static void CreateIndexerExpressionAst (ParsingContext parsingcontext, ParseTreeNode node)
 The create indexer expression ast. More...
 
static void CreateLiteralAst (ParsingContext context, ParseTreeNode node)
 The create literal ast. More...
 
static void CreateLiteralExpressionAst (ParsingContext parsingcontext, ParseTreeNode node)
 The create literal expression ast. More...
 
static void CreateMemberReferenceExpressionAst (ParsingContext parsingcontext, ParseTreeNode node)
 The create member reference expression ast. More...
 
static void CreateMethodDeclarationAst (ParsingContext context, ParseTreeNode node)
 The create method declaration ast. More...
 
static void CreateMethodDeclarationRawAst (ParsingContext context, ParseTreeNode node)
 The create method declaration raw ast. More...
 
static void CreateMethodDeclaratorAst (ParsingContext context, ParseTreeNode node)
 The create method declarator ast. More...
 
static void CreateMethodDefinitionAst (ParsingContext context, ParseTreeNode node)
 The create method definition ast. More...
 
static void CreateMethodInvokeExpressionAst (ParsingContext parsingcontext, ParseTreeNode node)
 The create method invoke expression ast. More...
 
static void CreateParenthesizedExpressionAst (ParsingContext context, ParseTreeNode node)
 The create parenthesized expression ast. More...
 
static void CreatePostfixUnaryExpressionAst (ParsingContext context, ParseTreeNode node)
 The create postfix unary expression ast. More...
 
static void CreateQualifiers (ParsingContext context, ParseTreeNode node)
 The create qualifiers. More...
 
static void CreateQualifiersAst (ParsingContext context, ParseTreeNode node)
 
static void CreateRankSpecifierAst (ParsingContext parsingcontext, ParseTreeNode node)
 The create rank specifier ast. More...
 
static void CreateReturnStatementAst (ParsingContext context, ParseTreeNode node)
 The create return statement ast. More...
 
static void CreateShaderAst (ParsingContext parsingcontext, ParseTreeNode node)
 The create shader ast. More...
 
static void CreateStatementAst (ParsingContext context, ParseTreeNode node)
 The create statement ast. More...
 
static void CreateStructureAst (ParsingContext parsingcontext, ParseTreeNode node)
 The create structure ast. More...
 
static void CreateSwitchCastGroupAst (ParsingContext context, ParseTreeNode node)
 The create switch cast group ast. More...
 
static void CreateSwitchStatementAst (ParsingContext context, ParseTreeNode node)
 The create switch statement ast. More...
 
static void CreateTypeNameAst (ParsingContext parsingcontext, ParseTreeNode node)
 The create type name ast. More...
 
static void CreateTypeNameFromTokenAst (ParsingContext parsingcontext, ParseTreeNode node)
 The create type name from token ast. More...
 
static void CreateTypeFromTokenAst< T > (ParsingContext parsingcontext, ParseTreeNode node)
 
static void CreateUnaryExpressionAst (ParsingContext parsingcontext, ParseTreeNode node)
 The create unary expression ast. More...
 
static void CreateVariableGroupAst (ParsingContext parsingContext, ParseTreeNode node)
 Creates the variable group ast. More...
 
static void CreateVariableGroupRawAst (ParsingContext parsingContext, ParseTreeNode node)
 The create variable group raw ast. More...
 
static void CreateWhileStatementAst (ParsingContext context, ParseTreeNode node)
 The create while statement ast. More...
 
static T GetOptional< T > (ParseTreeNode node)
 
static T CreateEnumFlags< T > (T initialValue, IEnumerable< ParseTreeNode > enumValues)
 
static void FillListFromNodes< TItem > (IEnumerable< ParseTreeNode > nodes, IList< TItem > items)
 
static void FillTokenText (ParseTreeNode node, StringBuilder builder)
 
static string GetTokenText (ParseTreeNode node)
 
static string ParseStringFromNode (ParseTreeNode node)
 
static NonTerminal T (string name)
 
static NonTerminal T (string name, AstNodeCreator nodeCreator)
 
static NonTerminal TT (string name)
 

Protected Attributes

readonly NonTerminal semi_opt = TT("semi_opt")
 
readonly NonTerminal less_than = TT("less_than")
 
readonly NonTerminal additive_expression = TT("additive_expression")
 
readonly NonTerminal additive_expression_raw = T("additive_expression_raw", CreateBinaryExpressionAst)
 
readonly NonTerminal and_expression = TT("and_expression")
 
readonly NonTerminal and_expression_raw = T("and_expression_raw", CreateBinaryExpressionAst)
 
readonly NonTerminal argument_expression_list = T("argument_expression_list", CreateListFromNode<Expression>)
 
readonly NonTerminal array_initializer_expression = T("array_initializer_expression", CreateArrayInitializerExpressionAst)
 
readonly NonTerminal assignment_expression = TT("assignment_expression")
 
readonly NonTerminal assignment_expression_raw = T("assignment_expression_raw", CreateAssignementExpressionAst)
 
readonly NonTerminal assignment_operator = T("assignment_operator", CreateAssignmentOperator)
 
readonly NonTerminal attribute_qualifier_pre = TT("attribute_qualifier_pre")
 
readonly NonTerminal block_item = TT("block_item")
 
readonly NonTerminal block_statement = T("block_statement", CreateBlockStatementAst)
 
readonly NonTerminal break_statement = T("break_statement", CreateExpressionStatementAst)
 
readonly NonTerminal cast_expression = TT("cast_expression")
 
readonly NonTerminal conditional_expression = TT("conditional_expression")
 
readonly NonTerminal conditional_expression_raw = T("conditional_expression_raw", CreateConditionalExpressionAst)
 
readonly NonTerminal constant_expression = TT("constant_expression")
 
readonly NonTerminal continue_statement = T("continue_statement", CreateExpressionStatementAst)
 
readonly NonTerminal declaration = TT("declaration")
 
readonly NonTerminal declaration_specifiers = T("declaration_specifiers", CreateDeclarationSpecifier)
 
readonly NonTerminal declaration_statement = T("declaration_statement", CreateDeclarationStatementAst)
 
readonly NonTerminal discard_statement = T("discard_statement", CreateExpressionStatementAst)
 
readonly NonTerminal do_while_statement = T("do_while_statement", CreateDoWhileStatementAst)
 
readonly NonTerminal empty_statement = T("empty_statement", CreateEmptyStatementAst)
 
readonly NonTerminal equality_expression = TT("equality_expression")
 
readonly NonTerminal equality_expression_raw = T("equality_expression_raw", CreateBinaryExpressionAst)
 
readonly NonTerminal exclusive_or_expression = TT("exclusive_or_expression")
 
readonly NonTerminal exclusive_or_expression_raw = T("exclusive_or_expression_raw", CreateBinaryExpressionAst)
 
readonly NonTerminal expression = TT("expression")
 
readonly NonTerminal expression_list = T("expression_list", CreateExpressionListAst)
 
readonly NonTerminal expression_or_empty = T("expression_or_empty", CreateExpressionOrEmptyAst)
 
readonly NonTerminal expression_statement = T("expression_statement", CreateExpressionStatementAst)
 
readonly NonTerminal for_statement = T("for_statement", CreateForStatementAst)
 
readonly NonTerminal field_declaration = T("field_declaration", CheckFieldDeclarationAst)
 
readonly NonTerminal identifier_list = T("identifier_list", CreateIdentifierListAst)
 
readonly NonTerminal if_statement = T("if_terminal", CreateIfStatementAst)
 
readonly NonTerminal inclusive_or_expression = TT("inclusive_or_expression")
 
readonly NonTerminal inclusive_or_expression_raw = T("inclusive_or_expression_raw", CreateBinaryExpressionAst)
 
readonly NonTerminal incr_or_decr = TT("incr_or_decr")
 
readonly NonTerminal identifier_extended = T("identifier_extended", CreateIdentifierAst)
 
readonly NonTerminal indexable_identifier = T("identifier_indexable", CreateIdentifierIndexableAst)
 
readonly NonTerminal indexable_identifier_declarator = T("indexable_identifier_declarator", CreateIdentifierIndexableAst)
 
readonly NonTerminal indexer_expression = T("indexer-expression", CreateIndexerExpressionAst)
 
readonly NonTerminal initializer = TT("initializer")
 
readonly NonTerminal initializer_list = T("initializer_list", CreateListFromNode<Expression>)
 
readonly NonTerminal iteration_statement = TT("iteration_statement")
 
readonly NonTerminal jump_statement = TT("jump_statement")
 
readonly NonTerminal literal = T("literal", CreateLiteralAst)
 
readonly NonTerminal literal_expression = T("literal-expression", CreateLiteralExpressionAst)
 
readonly NonTerminal literal_list = T("literal_list", CreateListFromNode<Literal>)
 
readonly NonTerminal logical_and_expression = TT("logical_and_expression")
 
readonly NonTerminal logical_and_expression_raw = T("logical_and_expression_raw", CreateBinaryExpressionAst)
 
readonly NonTerminal logical_or_expression = TT("logical_or_expression")
 
readonly NonTerminal logical_or_expression_raw = T("logical_or_expression_raw", CreateBinaryExpressionAst)
 
readonly NonTerminal matrix_type = T("matrix_type")
 
readonly NonTerminal matrix_type_simple = T("matrix_type_simple")
 
readonly NonTerminal matrix_type_list = TT("matricx_type_list")
 
readonly NonTerminal member_reference_expression = T("member_reference_expression", CreateMemberReferenceExpressionAst)
 
readonly NonTerminal method_declaration = T("method_declaration", CreateMethodDeclarationAst)
 
readonly NonTerminal method_declaration_raw = T("method_declaration_raw", CreateMethodDeclarationRawAst)
 
readonly NonTerminal method_declarator = T("method_declarator", CreateMethodDeclaratorAst)
 
readonly NonTerminal method_definition = T("method_definition", CreateMethodDefinitionAst)
 
readonly NonTerminal method_definition_or_declaration = TT("method_definition_or_declaration")
 
readonly NonTerminal method_invoke_expression = T("method_invoke_expression", CreateMethodInvokeExpressionAst)
 
readonly NonTerminal method_invoke_expression_simple = T("method_invoke_expression_simple", CreateMethodInvokeExpressionAst)
 
readonly NonTerminal method_qualifier_post = TT("method_qualifier_post")
 
readonly NonTerminal multiplicative_expression = TT("multiplicative_expression")
 
readonly NonTerminal multiplicative_expression_raw = T("multiplicative_expression_raw", CreateBinaryExpressionAst)
 
readonly NonTerminal object_type = TT("object_type")
 
readonly NonTerminal parameter_declaration = T("parameter_declaration")
 
readonly NonTerminal parameter_list = T("parameter_list", CreateListFromNode<Parameter>)
 
readonly NonTerminal parameter_qualifier_pre = T("parameter_qualifier_pre")
 
readonly NonTerminal parameter_qualifier_post = T("parameter_qualifier_post")
 
readonly NonTerminal parameter_type = TT("parameter_type")
 
readonly NonTerminal parenthesized_expression = T("parenthesized_expression", CreateParenthesizedExpressionAst)
 
readonly NonTerminal post_incr_decr_expression = T("post_incr_decr_expression", CreatePostfixUnaryExpressionAst)
 
readonly NonTerminal postfix_expression = TT("postfix_expression")
 
readonly NonTerminal primary_expression = TT("primary-expression")
 
readonly NonTerminal rank_specifier = T("rank_specifier", CreateRankSpecifierAst)
 
readonly NonTerminal rank_specifier_empty = T("rank_specifier_empty", CreateRankSpecifierAst)
 
readonly NonTerminal relational_expression = TT("relational_expression")
 
readonly NonTerminal relational_expression_raw = T("relational_expression_raw", CreateBinaryExpressionAst)
 
readonly NonTerminal return_statement = T("return_statement", CreateReturnStatementAst)
 
readonly NonTerminal sampler_type = T("sampler_type")
 
readonly NonTerminal scalars = TT("scalars")
 
readonly NonTerminal scalars_and_vectors = TT("scalars_and_vectors")
 
readonly NonTerminal scalars_or_typename = TT("scalars_or_typename")
 
readonly NonTerminal scope_declaration = TT("scope_declaration")
 
readonly NonTerminal selection_statement = TT("selection_statement")
 
readonly NonTerminal shader = T("shader", CreateShaderAst)
 
readonly NonTerminal shift_expression = TT("shift_expression")
 
readonly NonTerminal shift_expression_raw = T("shift_expression_raw", CreateBinaryExpressionAst)
 
readonly NonTerminal simple_assignment_expression_statement = T("simple_assignment_expression_statement", CreateAssignementExpressionAst)
 
readonly NonTerminal simple_type = TT("simple_type")
 
readonly NonTerminal simple_type_or_type_name = TT("simple_type_or_type_name")
 
readonly NonTerminal statement = T("Statement", CreateStatementAst)
 
readonly NonTerminal statement_raw = TT("statement_raw")
 
readonly NonTerminal storage_qualifier = T("storage_qualifier")
 
readonly NonTerminal storage_qualifier_list_opt = T("storage_qualifier_list_opt", CreateQualifiers)
 
readonly NonTerminal struct_specifier = T("struct_specifier", CreateStructureAst)
 
readonly NonTerminal switch_case_group = T("switch_case_group", CreateSwitchCastGroupAst)
 
readonly NonTerminal switch_case_statement = T("switch_case_statement", CreateCaseStatementAst)
 
readonly NonTerminal switch_statement = T("switch_statement", CreateSwitchStatementAst)
 
readonly NonTerminal toplevel_declaration = TT("toplevel_declaration")
 
readonly NonTerminal toplevel_declaration_list = T("toplevel_declaration_list", CreateListFromNode<Node>)
 
readonly NonTerminal type = TT("type")
 
readonly NonTerminal type_for_cast = TT("type_for_cast")
 
readonly NonTerminal type_name = T("type_name", CreateTypeNameAst)
 
readonly NonTerminal typename_for_cast = T("typename_for_cast", CreateTypeNameAst)
 
readonly NonTerminal unary_expression = TT("unary_expression")
 
readonly NonTerminal unary_expression_raw = T("unary_expression_raw", CreateUnaryExpressionAst)
 
readonly NonTerminal unary_operator = TT("unary_operator")
 
readonly NonTerminal value_type = TT("value-type")
 
readonly NonTerminal type_reference_expression = T("type_reference_expression", CreateTypeReferenceExpression)
 
readonly NonTerminal variable_declaration = T("variable_declaration", CreateVariableGroupAst)
 
readonly NonTerminal variable_declaration_raw = T("variable_declaration_raw", CreateVariableGroupRawAst)
 
readonly NonTerminal variable_declarator = T("variable_declarator")
 
readonly NonTerminal variable_declarator_raw = T("variable_declarator_raw")
 
readonly NonTerminal variable_declarator_qualifier_post = TT("variable_declarator_qualifier_post")
 
readonly NonTerminal variable_declarator_list = T("variable_declarator_list", CreateListFromNode<Variable>)
 
readonly NonTerminal variable_identifier = T("variable_identifier", CreateVariableReferenceExpressionAst)
 
readonly NonTerminal vector_type = T("vector_type")
 
readonly NonTerminal vector_type_list = TT("vector_type_list")
 
readonly NonTerminal void_type = T("void_type", (context, node) => Ast<TypeName>(node).Name = new Identifier("void") { Span = SpanConverter.Convert(node.Span) })
 
readonly NonTerminal while_statement = T("while_statement", CreateWhileStatementAst)
 

Additional Inherited Members

- Public Member Functions inherited from Irony.Parsing.Grammar
bool FlagIsSet (LanguageFlags flag)
 
virtual LanguageData CreateLanguageData ()
 
 Grammar ()
 
 Grammar (bool caseSensitive)
 
void MarkReservedWords (params string[] reservedWords)
 
void RegisterOperators (int precedence, params string[] opSymbols)
 
void RegisterOperators (int precedence, Associativity associativity, params string[] opSymbols)
 
void RegisterOperators (int precedence, params BnfTerm[] opTerms)
 
void RegisterOperators (int precedence, Associativity associativity, params BnfTerm[] opTerms)
 
void RegisterBracePair (string openBrace, string closeBrace)
 
void MarkPunctuation (params string[] symbols)
 
void MarkPunctuation (params BnfTerm[] terms)
 
void MarkTransient (params NonTerminal[] nonTerminals)
 
void MarkMemberSelect (params string[] symbols)
 
void MarkNotReported (params BnfTerm[] terms)
 
void MarkNotReported (params string[] symbols)
 
virtual void CreateTokenFilters (LanguageData language, TokenFilterList filters)
 
virtual Token TryMatch (ParsingContext context, ISourceStream source)
 
virtual string GetParseNodeCaption (ParseTreeNode node)
 
virtual void CreateAstNode (ParsingContext context, ParseTreeNode nodeInfo)
 
virtual void OnScannerSelectTerminal (ParsingContext context)
 Override this method to help scanner select a terminal to create token when there are more than one candidates for an input char. Context.CurrentTerminals contains candidate terminals; leave a single terminal in this list as the one to use. More...
 
virtual void OnResolvingConflict (ConflictResolutionArgs args)
 Override this method to provide custom conflict resolution; for example, custom code may decide proper shift or reduce action based on preview of tokens ahead. More...
 
virtual void OnGrammarDataConstructed (LanguageData language)
 
virtual void OnLanguageDataConstructed (LanguageData language)
 
virtual string ConstructParserErrorMessage (ParsingContext context, StringSet expectedTerms)
 
virtual void ReportParseError (ParsingContext context)
 
KeyTerm ToTerm (string text)
 
KeyTerm ToTerm (string text, string name)
 
- Static Public Member Functions inherited from Irony.Parsing.Grammar
static BnfExpression MakePlusRule (NonTerminal listNonTerminal, BnfTerm listMember)
 
static BnfExpression MakePlusRule (NonTerminal listNonTerminal, BnfTerm delimiter, BnfTerm listMember, TermListOptions options)
 
static BnfExpression MakePlusRule (NonTerminal listNonTerminal, BnfTerm delimiter, BnfTerm listMember)
 
static BnfExpression MakeStarRule (NonTerminal listNonTerminal, BnfTerm listMember)
 
static BnfExpression MakeStarRule (NonTerminal listNonTerminal, BnfTerm delimiter, BnfTerm listMember)
 
static BnfExpression MakeStarRule (NonTerminal listNonTerminal, BnfTerm delimiter, BnfTerm listMember, TermListOptions options)
 
- Properties inherited from Irony.Parsing.Grammar
NonTerminal NewLinePlus [get]
 
NonTerminal NewLineStar [get]
 
static Grammar CurrentGrammar [get]
 

Detailed Description

Methods used to create the Abstract Syntax Tree..

Generic grammar for a shading language.

This grammar provides the core grammar for a shading language including expressions (binary, unary, methods...), statements (if, for, while...).

Definition at line 18 of file ShaderGrammar.Ast.cs.

Constructor & Destructor Documentation

SiliconStudio.Shaders.Grammar.ShaderGrammar.ShaderGrammar ( )
protected

Initializes a new instance of the ShaderGrammar class.

Definition at line 191 of file ShaderGrammar.cs.

References Irony.Parsing.Keyword.

Member Function Documentation

static T SiliconStudio.Shaders.Grammar.ShaderGrammar.Ast< T > ( ParseTreeNode  node)
staticprotected

The ast.

Parameters
node
Template Parameters
T
Returns
Type Constraints
T :class 
T :new() 

Definition at line 31 of file ShaderGrammar.Ast.cs.

static T SiliconStudio.Shaders.Grammar.ShaderGrammar.AstCompositeEnum< T > ( ParseTreeNode  node)
staticprotected

The ast composite enum.

Parameters
node
Template Parameters
T
Returns
Type Constraints
T :CompositeEnum 
T :new() 

Definition at line 53 of file ShaderGrammar.Ast.cs.

static Qualifier SiliconStudio.Shaders.Grammar.ShaderGrammar.CollectQualifiers ( ParseTreeNode  node)
staticprotected

The collect qualifiers.

Parameters
node
Returns

Definition at line 68 of file ShaderGrammar.Ast.cs.

References SiliconStudio.Shaders.Ast.Qualifier.None.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateArrayInitializerExpressionAst ( ParsingContext  context,
ParseTreeNode  node 
)
staticprotected

The create array initializer expression ast.

Parameters
context
node

Definition at line 91 of file ShaderGrammar.Ast.cs.

References Irony.Parsing.ParseTreeNode.ChildNodes.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateAssignementExpressionAst ( ParsingContext  parsingcontext,
ParseTreeNode  node 
)
staticprotected

The create assignement expression ast.

Parameters
parsingcontext
node

Definition at line 106 of file ShaderGrammar.Ast.cs.

References Irony.Parsing.ParseTreeNode.ChildNodes.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateAssignmentOperator ( ParsingContext  parsingContext,
ParseTreeNode  node 
)
staticprotected

The create assignment operator.

Parameters
parsingContext
node

Definition at line 139 of file ShaderGrammar.Ast.cs.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateBinaryExpressionAst ( ParsingContext  parsingcontext,
ParseTreeNode  node 
)
staticprotected

The create binary expression ast.

Parameters
parsingcontext
node

Definition at line 151 of file ShaderGrammar.Ast.cs.

References Irony.Parsing.ParseTreeNode.ChildNodes, and SiliconStudio.Shaders.Ast.BinaryOperatorHelper.FromString().

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateBlockStatementAst ( ParsingContext  context,
ParseTreeNode  node 
)
staticprotected

The create block statement ast.

Parameters
context
node

Definition at line 169 of file ShaderGrammar.Ast.cs.

References Irony.Parsing.ParseTreeNode.ChildNodes.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateCaseStatementAst ( ParsingContext  context,
ParseTreeNode  node 
)
staticprotected

The create case statement ast.

Parameters
context
node

Definition at line 185 of file ShaderGrammar.Ast.cs.

References Irony.Parsing.ParseTreeNode.ChildNodes.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateConditionalExpressionAst ( ParsingContext  parsingcontext,
ParseTreeNode  node 
)
staticprotected

The create conditional expression ast.

Parameters
parsingcontext
node

Definition at line 206 of file ShaderGrammar.Ast.cs.

References Irony.Parsing.ParseTreeNode.ChildNodes.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateDeclarationSpecifier ( ParsingContext  context,
ParseTreeNode  node 
)
staticprotected

The create declaration specifier.

Parameters
context
node

Definition at line 224 of file ShaderGrammar.Ast.cs.

References Irony.Parsing.ParseTreeNode.AstNode, and Irony.Parsing.ParseTreeNode.ChildNodes.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateDeclarationStatementAst ( ParsingContext  context,
ParseTreeNode  node 
)
staticprotected

The create declaration statement ast.

Parameters
context
node

Definition at line 250 of file ShaderGrammar.Ast.cs.

References Irony.Parsing.ParseTreeNode.ChildNodes.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateDoWhileStatementAst ( ParsingContext  context,
ParseTreeNode  node 
)
staticprotected

The create do while statement ast.

Parameters
context
node

Definition at line 263 of file ShaderGrammar.Ast.cs.

References Irony.Parsing.ParseTreeNode.ChildNodes.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateEmptyStatementAst ( ParsingContext  context,
ParseTreeNode  node 
)
staticprotected

Definition at line 295 of file ShaderGrammar.Ast.cs.

static T SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateEnumFlags< T > ( T  initialValue,
IEnumerable< ParseTreeNode enumValues 
)
staticprotected
Type Constraints
T :CompositeEnum 
T :new() 

Definition at line 68 of file ShaderGrammar.Helpers.cs.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateExpressionOrEmptyAst ( ParsingContext  context,
ParseTreeNode  node 
)
staticprotected

The create expression or empty ast.

Parameters
context
node

Definition at line 282 of file ShaderGrammar.Ast.cs.

References Irony.Parsing.ParseTreeNode.AstNode, and Irony.Parsing.ParseTreeNode.ChildNodes.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateExpressionStatementAst ( ParsingContext  context,
ParseTreeNode  node 
)
staticprotected

The create expression statement ast.

Parameters
context
node

Definition at line 307 of file ShaderGrammar.Ast.cs.

References Irony.Parsing.ParseTreeNode.ChildNodes.

void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateFloatLiteral ( ParsingContext  context,
ParseTreeNode  node 
)
protected

The create float literal.

Parameters
context
node

Definition at line 1024 of file ShaderGrammar.Ast.cs.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateForStatementAst ( ParsingContext  context,
ParseTreeNode  node 
)
staticprotected

The create for statement ast.

Parameters
context
node

Definition at line 341 of file ShaderGrammar.Ast.cs.

References Irony.Parsing.ParseTreeNode.ChildNodes.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateIdentifierAst ( ParsingContext  parsingcontext,
ParseTreeNode  node 
)
staticprotected

The create identifier ast.

Parameters
parsingcontext
node

Definition at line 371 of file ShaderGrammar.Ast.cs.

References Irony.Parsing.ParseTreeNode.AstNode.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateIdentifierIndexableAst ( ParsingContext  parsingcontext,
ParseTreeNode  node 
)
staticprotected

The create identifier indexable ast.

Parameters
parsingcontext
node

Definition at line 398 of file ShaderGrammar.Ast.cs.

References Irony.Parsing.ParseTreeNode.ChildNodes.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateIdentifierListAst ( ParsingContext  parsingcontext,
ParseTreeNode  node 
)
staticprotected

The create identifier list ast.

Parameters
parsingcontext
node

Definition at line 415 of file ShaderGrammar.Ast.cs.

References Irony.Parsing.ParseTreeNode.ChildNodes.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateIfStatementAst ( ParsingContext  context,
ParseTreeNode  node 
)
staticprotected

The create if statement ast.

Parameters
context
node

Definition at line 428 of file ShaderGrammar.Ast.cs.

References Irony.Parsing.ParseTreeNode.ChildNodes.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateIndexerExpressionAst ( ParsingContext  parsingcontext,
ParseTreeNode  node 
)
staticprotected

The create indexer expression ast.

Parameters
parsingcontext
node

Definition at line 451 of file ShaderGrammar.Ast.cs.

References Irony.Parsing.ParseTreeNode.ChildNodes.

void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateIntegerLiteral ( ParsingContext  context,
ParseTreeNode  node 
)
protected

The create integer literal.

Parameters
context
node

Definition at line 1066 of file ShaderGrammar.Ast.cs.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateLiteralAst ( ParsingContext  context,
ParseTreeNode  node 
)
staticprotected

The create literal ast.

Parameters
context
node

Definition at line 468 of file ShaderGrammar.Ast.cs.

References Irony.Parsing.ParseTreeNode.ChildNodes.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateLiteralExpressionAst ( ParsingContext  parsingcontext,
ParseTreeNode  node 
)
staticprotected

The create literal expression ast.

Parameters
parsingcontext
node

Definition at line 490 of file ShaderGrammar.Ast.cs.

References Irony.Parsing.ParseTreeNode.ChildNodes.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateMemberReferenceExpressionAst ( ParsingContext  parsingcontext,
ParseTreeNode  node 
)
staticprotected

The create member reference expression ast.

Parameters
parsingcontext
node

Definition at line 503 of file ShaderGrammar.Ast.cs.

References Irony.Parsing.ParseTreeNode.ChildNodes.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateMethodDeclarationAst ( ParsingContext  context,
ParseTreeNode  node 
)
staticprotected

The create method declaration ast.

Parameters
context
node

Definition at line 520 of file ShaderGrammar.Ast.cs.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateMethodDeclarationRawAst ( ParsingContext  context,
ParseTreeNode  node 
)
staticprotected
static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateMethodDeclaratorAst ( ParsingContext  context,
ParseTreeNode  node 
)
staticprotected

The create method declarator ast.

Parameters
context
node

Definition at line 558 of file ShaderGrammar.Ast.cs.

References Irony.Parsing.ParseTreeNode.ChildNodes.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateMethodDefinitionAst ( ParsingContext  context,
ParseTreeNode  node 
)
staticprotected

The create method definition ast.

Parameters
context
node

Definition at line 593 of file ShaderGrammar.Ast.cs.

References Irony.Parsing.ParseTreeNode.ChildNodes.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateMethodInvokeExpressionAst ( ParsingContext  parsingcontext,
ParseTreeNode  node 
)
staticprotected

The create method invoke expression ast.

Parameters
parsingcontext
node

Definition at line 615 of file ShaderGrammar.Ast.cs.

References Irony.Parsing.ParseTreeNode.ChildNodes.

virtual void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateParameterAst ( ParsingContext  context,
ParseTreeNode  node 
)
protectedvirtual

The create parameter ast.

Parameters
context
node

Reimplemented in SiliconStudio.Shaders.Grammar.Hlsl.HlslGrammar.

Definition at line 638 of file ShaderGrammar.Ast.cs.

References Irony.Parsing.ParseTreeNode.ChildNodes.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateParenthesizedExpressionAst ( ParsingContext  context,
ParseTreeNode  node 
)
staticprotected

The create parenthesized expression ast.

Parameters
context
node

Definition at line 666 of file ShaderGrammar.Ast.cs.

References Irony.Parsing.ParseTreeNode.ChildNodes.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreatePostfixUnaryExpressionAst ( ParsingContext  context,
ParseTreeNode  node 
)
staticprotected

The create postfix unary expression ast.

Parameters
context
node

Definition at line 682 of file ShaderGrammar.Ast.cs.

References Irony.Parsing.ParseTreeNode.ChildNodes.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateQualifiers ( ParsingContext  context,
ParseTreeNode  node 
)
staticprotected

The create qualifiers.

Parameters
context
node

Definition at line 701 of file ShaderGrammar.Ast.cs.

References Irony.Parsing.ParseTreeNode.ChildNodes, and SiliconStudio.Shaders.Ast.Qualifier.None.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateQualifiersAst ( ParsingContext  context,
ParseTreeNode  node 
)
staticprotected

Definition at line 712 of file ShaderGrammar.Ast.cs.

References Irony.Parsing.ParseTreeNode.ChildNodes.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateRankSpecifierAst ( ParsingContext  parsingcontext,
ParseTreeNode  node 
)
staticprotected

The create rank specifier ast.

Parameters
parsingcontext
node

Definition at line 724 of file ShaderGrammar.Ast.cs.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateReturnStatementAst ( ParsingContext  context,
ParseTreeNode  node 
)
staticprotected

The create return statement ast.

Parameters
context
node

Definition at line 738 of file ShaderGrammar.Ast.cs.

References Irony.Parsing.ParseTreeNode.ChildNodes.

BnfExpression SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateRuleFromObjectTypes ( params ObjectType[]  types)
protected

Definition at line 79 of file ShaderGrammar.Helpers.cs.

BnfExpression SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateRuleFromObjectTypes ( IEnumerable< ObjectType types)
protected

Definition at line 84 of file ShaderGrammar.Helpers.cs.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateShaderAst ( ParsingContext  parsingcontext,
ParseTreeNode  node 
)
staticprotected

The create shader ast.

Parameters
parsingcontext
node

Definition at line 756 of file ShaderGrammar.Ast.cs.

References Irony.Parsing.ParseTreeNode.ChildNodes.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateStatementAst ( ParsingContext  context,
ParseTreeNode  node 
)
staticprotected
virtual void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateStorageQualifier ( ParsingContext  context,
ParseTreeNode  node 
)
protectedvirtual

The create storage qualifier.

Parameters
context
node

Reimplemented in SiliconStudio.Shaders.Grammar.Hlsl.HlslGrammar, and SiliconStudio.Paradox.Shaders.Parser.Grammar.ParadoxGrammar.

Definition at line 1121 of file ShaderGrammar.Ast.cs.

References Irony.Parsing.ParseTreeNode.ChildNodes.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateStructureAst ( ParsingContext  parsingcontext,
ParseTreeNode  node 
)
staticprotected

The create structure ast.

Parameters
parsingcontext
node

Definition at line 788 of file ShaderGrammar.Ast.cs.

References Irony.Parsing.ParseTreeNode.ChildNodes.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateSwitchCastGroupAst ( ParsingContext  context,
ParseTreeNode  node 
)
staticprotected

The create switch cast group ast.

Parameters
context
node

Definition at line 806 of file ShaderGrammar.Ast.cs.

References Irony.Parsing.ParseTreeNode.ChildNodes.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateSwitchStatementAst ( ParsingContext  context,
ParseTreeNode  node 
)
staticprotected

The create switch statement ast.

Parameters
context
node

Definition at line 822 of file ShaderGrammar.Ast.cs.

References Irony.Parsing.ParseTreeNode.ChildNodes.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateTypeFromTokenAst< T > ( ParsingContext  parsingcontext,
ParseTreeNode  node 
)
staticprotected
Type Constraints
T :TypeBase 
T :new() 

Definition at line 858 of file ShaderGrammar.Ast.cs.

References Irony.Parsing.ParseTreeNode.ChildNodes.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateTypeNameAst ( ParsingContext  parsingcontext,
ParseTreeNode  node 
)
staticprotected

The create type name ast.

Parameters
parsingcontext
node

Definition at line 840 of file ShaderGrammar.Ast.cs.

References Irony.Parsing.ParseTreeNode.ChildNodes.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateTypeNameFromTokenAst ( ParsingContext  parsingcontext,
ParseTreeNode  node 
)
staticprotected

The create type name from token ast.

Parameters
parsingcontext
node

Definition at line 853 of file ShaderGrammar.Ast.cs.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateUnaryExpressionAst ( ParsingContext  parsingcontext,
ParseTreeNode  node 
)
staticprotected

The create unary expression ast.

Parameters
parsingcontext
node

Definition at line 884 of file ShaderGrammar.Ast.cs.

References Irony.Parsing.ParseTreeNode.ChildNodes.

virtual void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateVariableDeclaratorAst ( ParsingContext  parsingcontext,
ParseTreeNode  node 
)
protectedvirtual

The create variable declarator ast.

Parameters
parsingcontext
node

Reimplemented in SiliconStudio.Shaders.Grammar.Hlsl.HlslGrammar.

Definition at line 1140 of file ShaderGrammar.Ast.cs.

References Irony.Parsing.ParseTreeNode.AstNode, and Irony.Parsing.ParseTreeNode.ChildNodes.

virtual void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateVariableDeclaratorRawAst ( ParsingContext  parsingcontext,
ParseTreeNode  node 
)
protectedvirtual

The create variable declarator raw ast.

Parameters
parsingcontext
node

Reimplemented in SiliconStudio.Shaders.Grammar.Hlsl.HlslGrammar.

Definition at line 1164 of file ShaderGrammar.Ast.cs.

References Irony.Parsing.ParseTreeNode.ChildNodes, and SiliconStudio.Shaders.Ast.Node.Span.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateVariableGroupAst ( ParsingContext  parsingContext,
ParseTreeNode  node 
)
staticprotected

Creates the variable group ast.

Parameters
parsingContextThe parsing context.
nodeThe tree node.

Definition at line 904 of file ShaderGrammar.Ast.cs.

References Irony.Parsing.ParseTreeNode.ChildNodes.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateVariableGroupRawAst ( ParsingContext  parsingContext,
ParseTreeNode  node 
)
staticprotected

The create variable group raw ast.

Parameters
parsingContext
node

Definition at line 934 of file ShaderGrammar.Ast.cs.

References Irony.Parsing.ParseTreeNode.ChildNodes.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.CreateWhileStatementAst ( ParsingContext  context,
ParseTreeNode  node 
)
staticprotected

The create while statement ast.

Parameters
context
node

Definition at line 1006 of file ShaderGrammar.Ast.cs.

References Irony.Parsing.ParseTreeNode.ChildNodes.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.FillListFromNodes< TItem > ( IEnumerable< ParseTreeNode nodes,
IList< TItem >  items 
)
staticprotected

Definition at line 113 of file ShaderGrammar.Helpers.cs.

static void SiliconStudio.Shaders.Grammar.ShaderGrammar.FillTokenText ( ParseTreeNode  node,
StringBuilder  builder 
)
staticprotected

Definition at line 122 of file ShaderGrammar.Helpers.cs.

References Irony.Parsing.ParseTreeNode.Token.

static Expression SiliconStudio.Shaders.Grammar.ShaderGrammar.GetExpression ( ParseTreeNode  node)
staticprotected

Gets the expression.

Parameters
nodeThe node.
Returns
An expression

Definition at line 122 of file ShaderGrammar.Ast.cs.

References Irony.Parsing.ParseTreeNode.AstNode.

static T SiliconStudio.Shaders.Grammar.ShaderGrammar.GetOptional< T > ( ParseTreeNode  node)
staticprotected
Type Constraints
T :class 

Definition at line 62 of file ShaderGrammar.Helpers.cs.

static string SiliconStudio.Shaders.Grammar.ShaderGrammar.GetTokenText ( ParseTreeNode  node)
staticprotected

Definition at line 132 of file ShaderGrammar.Helpers.cs.

KeyTerm SiliconStudio.Shaders.Grammar.ShaderGrammar.Keyword ( string  term,
bool  isCaseInsensitive = false 
)
protected

Definition at line 17 of file ShaderGrammar.Helpers.cs.

KeyTerm SiliconStudio.Shaders.Grammar.ShaderGrammar.Op ( string  term,
TokenType  type 
)
protected

Definition at line 42 of file ShaderGrammar.Helpers.cs.

static string SiliconStudio.Shaders.Grammar.ShaderGrammar.ParseStringFromNode ( ParseTreeNode  node)
staticprotected

Definition at line 149 of file ShaderGrammar.Helpers.cs.

References Irony.Parsing.ParseTreeNode.ChildNodes.

KeyTerm SiliconStudio.Shaders.Grammar.ShaderGrammar.Punc ( string  term,
TokenType  type 
)
protected

Definition at line 50 of file ShaderGrammar.Helpers.cs.

static NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.T ( string  name)
staticprotected

Definition at line 159 of file ShaderGrammar.Helpers.cs.

static NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.T ( string  name,
AstNodeCreator  nodeCreator 
)
staticprotected

Definition at line 164 of file ShaderGrammar.Helpers.cs.

void SiliconStudio.Shaders.Grammar.ShaderGrammar.Term ( Terminal  terminal,
TokenCategory  category,
TokenType  type 
)
protected

Definition at line 31 of file ShaderGrammar.Helpers.cs.

References Irony.Parsing.BnfTerm.AstNodeConfig.

static NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.TT ( string  name)
staticprotected

Definition at line 169 of file ShaderGrammar.Helpers.cs.

KeyTerm SiliconStudio.Shaders.Grammar.ShaderGrammar.TypeName ( string  term)
protected

Definition at line 24 of file ShaderGrammar.Helpers.cs.

Member Data Documentation

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.additive_expression = TT("additive_expression")
protected

Definition at line 54 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.additive_expression_raw = T("additive_expression_raw", CreateBinaryExpressionAst)
protected

Definition at line 55 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.and_expression = TT("and_expression")
protected

Definition at line 56 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.and_expression_raw = T("and_expression_raw", CreateBinaryExpressionAst)
protected

Definition at line 57 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.argument_expression_list = T("argument_expression_list", CreateListFromNode<Expression>)
protected

Definition at line 58 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.array_initializer_expression = T("array_initializer_expression", CreateArrayInitializerExpressionAst)
protected

Definition at line 59 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.assignment_expression = TT("assignment_expression")
protected

Definition at line 60 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.assignment_expression_raw = T("assignment_expression_raw", CreateAssignementExpressionAst)
protected

Definition at line 61 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.assignment_operator = T("assignment_operator", CreateAssignmentOperator)
protected

Definition at line 62 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.attribute_qualifier_pre = TT("attribute_qualifier_pre")
protected

Definition at line 63 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.block_item = TT("block_item")
protected

Definition at line 64 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.block_statement = T("block_statement", CreateBlockStatementAst)
protected

Definition at line 65 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.boolean = T("boolean", (context, node) => node.AstNode = bool.Parse(node.ChildNodes[0].Token.Text))

Definition at line 38 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.break_statement = T("break_statement", CreateExpressionStatementAst)
protected

Definition at line 66 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.cast_expression = TT("cast_expression")
protected

Definition at line 67 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.conditional_expression = TT("conditional_expression")
protected

Definition at line 68 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.conditional_expression_raw = T("conditional_expression_raw", CreateConditionalExpressionAst)
protected

Definition at line 69 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.constant_expression = TT("constant_expression")
protected

Definition at line 70 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.continue_statement = T("continue_statement", CreateExpressionStatementAst)
protected

Definition at line 71 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.declaration = TT("declaration")
protected

Definition at line 72 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.declaration_specifiers = T("declaration_specifiers", CreateDeclarationSpecifier)
protected

Definition at line 73 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.declaration_statement = T("declaration_statement", CreateDeclarationStatementAst)
protected

Definition at line 74 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.discard_statement = T("discard_statement", CreateExpressionStatementAst)
protected

Definition at line 75 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.do_while_statement = T("do_while_statement", CreateDoWhileStatementAst)
protected

Definition at line 76 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.empty_statement = T("empty_statement", CreateEmptyStatementAst)
protected

Definition at line 77 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.equality_expression = TT("equality_expression")
protected

Definition at line 78 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.equality_expression_raw = T("equality_expression_raw", CreateBinaryExpressionAst)
protected

Definition at line 79 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.exclusive_or_expression = TT("exclusive_or_expression")
protected

Definition at line 80 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.exclusive_or_expression_raw = T("exclusive_or_expression_raw", CreateBinaryExpressionAst)
protected

Definition at line 81 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.expression = TT("expression")
protected

Definition at line 82 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.expression_list = T("expression_list", CreateExpressionListAst)
protected

Definition at line 83 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.expression_or_empty = T("expression_or_empty", CreateExpressionOrEmptyAst)
protected

Definition at line 84 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.expression_statement = T("expression_statement", CreateExpressionStatementAst)
protected

Definition at line 85 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.field_declaration = T("field_declaration", CheckFieldDeclarationAst)
protected

Definition at line 87 of file ShaderGrammar.cs.

readonly Terminal SiliconStudio.Shaders.Grammar.ShaderGrammar.float_literal = new Terminal("float_literal") { AstNodeConfig = new TokenInfo(TokenCategory.Number) }

Definition at line 33 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.for_statement = T("for_statement", CreateForStatementAst)
protected

Definition at line 86 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.identifier = TT("identifier")

Definition at line 37 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.identifier_extended = T("identifier_extended", CreateIdentifierAst)
protected

Definition at line 93 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.identifier_list = T("identifier_list", CreateIdentifierListAst)
protected

Definition at line 88 of file ShaderGrammar.cs.

readonly Terminal SiliconStudio.Shaders.Grammar.ShaderGrammar.identifier_raw = new Terminal("identifier") { AstNodeConfig = new TokenInfo(TokenCategory.Identifier) }

Definition at line 36 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.if_statement = T("if_terminal", CreateIfStatementAst)
protected

Definition at line 89 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.inclusive_or_expression = TT("inclusive_or_expression")
protected

Definition at line 90 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.inclusive_or_expression_raw = T("inclusive_or_expression_raw", CreateBinaryExpressionAst)
protected

Definition at line 91 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.incr_or_decr = TT("incr_or_decr")
protected

Definition at line 92 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.indexable_identifier = T("identifier_indexable", CreateIdentifierIndexableAst)
protected

Definition at line 94 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.indexable_identifier_declarator = T("indexable_identifier_declarator", CreateIdentifierIndexableAst)
protected

Definition at line 95 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.indexer_expression = T("indexer-expression", CreateIndexerExpressionAst)
protected

Definition at line 96 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.initializer = TT("initializer")
protected

Definition at line 97 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.initializer_list = T("initializer_list", CreateListFromNode<Expression>)
protected

Definition at line 98 of file ShaderGrammar.cs.

readonly Terminal SiliconStudio.Shaders.Grammar.ShaderGrammar.integer_literal = new Terminal("integer_literal") { AstNodeConfig = new TokenInfo(TokenCategory.Number) }

Definition at line 34 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.iteration_statement = TT("iteration_statement")
protected

Definition at line 99 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.jump_statement = TT("jump_statement")
protected

Definition at line 100 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.less_than = TT("less_than")
protected

Definition at line 49 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.literal = T("literal", CreateLiteralAst)
protected

Definition at line 101 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.literal_expression = T("literal-expression", CreateLiteralExpressionAst)
protected

Definition at line 102 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.literal_list = T("literal_list", CreateListFromNode<Literal>)
protected

Definition at line 103 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.logical_and_expression = TT("logical_and_expression")
protected

Definition at line 104 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.logical_and_expression_raw = T("logical_and_expression_raw", CreateBinaryExpressionAst)
protected

Definition at line 105 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.logical_or_expression = TT("logical_or_expression")
protected

Definition at line 106 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.logical_or_expression_raw = T("logical_or_expression_raw", CreateBinaryExpressionAst)
protected

Definition at line 107 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.matrix_type = T("matrix_type")
protected

Definition at line 108 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.matrix_type_list = TT("matricx_type_list")
protected

Definition at line 110 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.matrix_type_simple = T("matrix_type_simple")
protected

Definition at line 109 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.member_reference_expression = T("member_reference_expression", CreateMemberReferenceExpressionAst)
protected

Definition at line 111 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.method_declaration = T("method_declaration", CreateMethodDeclarationAst)
protected

Definition at line 112 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.method_declaration_raw = T("method_declaration_raw", CreateMethodDeclarationRawAst)
protected

Definition at line 113 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.method_declarator = T("method_declarator", CreateMethodDeclaratorAst)
protected

Definition at line 114 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.method_definition = T("method_definition", CreateMethodDefinitionAst)
protected

Definition at line 115 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.method_definition_or_declaration = TT("method_definition_or_declaration")
protected

Definition at line 116 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.method_invoke_expression = T("method_invoke_expression", CreateMethodInvokeExpressionAst)
protected

Definition at line 117 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.method_invoke_expression_simple = T("method_invoke_expression_simple", CreateMethodInvokeExpressionAst)
protected

Definition at line 118 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.method_qualifier_post = TT("method_qualifier_post")
protected

Definition at line 119 of file ShaderGrammar.cs.

readonly Terminal SiliconStudio.Shaders.Grammar.ShaderGrammar.multi_line_comment = new Terminal("multi_line_comment", Irony.Parsing.TokenCategory.Comment, TermFlags.IsNonGrammar) { AstNodeConfig = new TokenInfo(TokenCategory.Comment) }

Definition at line 28 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.multiplicative_expression = TT("multiplicative_expression")
protected

Definition at line 120 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.multiplicative_expression_raw = T("multiplicative_expression_raw", CreateBinaryExpressionAst)
protected

Definition at line 121 of file ShaderGrammar.cs.

readonly Terminal SiliconStudio.Shaders.Grammar.ShaderGrammar.newline = new Terminal("newline", Irony.Parsing.TokenCategory.Content, TermFlags.IsNonGrammar) { AstNodeConfig = new TokenInfo(TokenCategory.WhiteSpace)}

Definition at line 46 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.number = TT("number")

Definition at line 35 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.object_type = TT("object_type")
protected

Definition at line 122 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.parameter_declaration = T("parameter_declaration")
protected

Definition at line 123 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.parameter_list = T("parameter_list", CreateListFromNode<Parameter>)
protected

Definition at line 124 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.parameter_qualifier_post = T("parameter_qualifier_post")
protected

Definition at line 126 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.parameter_qualifier_pre = T("parameter_qualifier_pre")
protected

Definition at line 125 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.parameter_type = TT("parameter_type")
protected

Definition at line 127 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.parenthesized_expression = T("parenthesized_expression", CreateParenthesizedExpressionAst)
protected

Definition at line 128 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.post_incr_decr_expression = T("post_incr_decr_expression", CreatePostfixUnaryExpressionAst)
protected

Definition at line 129 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.postfix_expression = TT("postfix_expression")
protected

Definition at line 130 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.primary_expression = TT("primary-expression")
protected

Definition at line 131 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.rank_specifier = T("rank_specifier", CreateRankSpecifierAst)
protected

Definition at line 132 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.rank_specifier_empty = T("rank_specifier_empty", CreateRankSpecifierAst)
protected

Definition at line 133 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.relational_expression = TT("relational_expression")
protected

Definition at line 134 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.relational_expression_raw = T("relational_expression_raw", CreateBinaryExpressionAst)
protected

Definition at line 135 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.return_statement = T("return_statement", CreateReturnStatementAst)
protected

Definition at line 136 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.sampler_type = T("sampler_type")
protected

Definition at line 137 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.scalars = TT("scalars")
protected

Definition at line 138 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.scalars_and_vectors = TT("scalars_and_vectors")
protected

Definition at line 139 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.scalars_or_typename = TT("scalars_or_typename")
protected

Definition at line 140 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.scope_declaration = TT("scope_declaration")
protected

Definition at line 141 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.selection_statement = TT("selection_statement")
protected

Definition at line 142 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.semi_opt = TT("semi_opt")
protected

Definition at line 48 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.shader = T("shader", CreateShaderAst)
protected

Definition at line 143 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.shift_expression = TT("shift_expression")
protected

Definition at line 144 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.shift_expression_raw = T("shift_expression_raw", CreateBinaryExpressionAst)
protected

Definition at line 145 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.simple_assignment_expression_statement = T("simple_assignment_expression_statement", CreateAssignementExpressionAst)
protected

Definition at line 146 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.simple_type = TT("simple_type")
protected

Definition at line 147 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.simple_type_or_type_name = TT("simple_type_or_type_name")
protected

Definition at line 148 of file ShaderGrammar.cs.

readonly Terminal SiliconStudio.Shaders.Grammar.ShaderGrammar.single_line_comment = new Terminal("single_line_comment", Irony.Parsing.TokenCategory.Comment, TermFlags.IsNonGrammar) { AstNodeConfig = new TokenInfo(TokenCategory.Comment) }

Definition at line 27 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.statement = T("Statement", CreateStatementAst)
protected

Definition at line 149 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.statement_raw = TT("statement_raw")
protected

Definition at line 150 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.storage_qualifier = T("storage_qualifier")
protected

Definition at line 151 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.storage_qualifier_list_opt = T("storage_qualifier_list_opt", CreateQualifiers)
protected

Definition at line 152 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.struct_specifier = T("struct_specifier", CreateStructureAst)
protected

Definition at line 153 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.switch_case_group = T("switch_case_group", CreateSwitchCastGroupAst)
protected

Definition at line 154 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.switch_case_statement = T("switch_case_statement", CreateCaseStatementAst)
protected

Definition at line 155 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.switch_statement = T("switch_statement", CreateSwitchStatementAst)
protected

Definition at line 156 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.toplevel_declaration = TT("toplevel_declaration")
protected

Definition at line 157 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.toplevel_declaration_list = T("toplevel_declaration_list", CreateListFromNode<Node>)
protected

Definition at line 158 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.type = TT("type")
protected

Definition at line 159 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.type_for_cast = TT("type_for_cast")
protected

Definition at line 160 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.type_name = T("type_name", CreateTypeNameAst)
protected

Definition at line 161 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.type_reference_expression = T("type_reference_expression", CreateTypeReferenceExpression)
protected

Definition at line 167 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.typename_for_cast = T("typename_for_cast", CreateTypeNameAst)
protected

Definition at line 162 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.unary_expression = TT("unary_expression")
protected

Definition at line 163 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.unary_expression_raw = T("unary_expression_raw", CreateUnaryExpressionAst)
protected

Definition at line 164 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.unary_operator = TT("unary_operator")
protected

Definition at line 165 of file ShaderGrammar.cs.

readonly Terminal SiliconStudio.Shaders.Grammar.ShaderGrammar.unknown = new Terminal("unknown", Irony.Parsing.TokenCategory.Content)

Definition at line 43 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.value_type = TT("value-type")
protected

Definition at line 166 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.variable_declaration = T("variable_declaration", CreateVariableGroupAst)
protected

Definition at line 168 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.variable_declaration_raw = T("variable_declaration_raw", CreateVariableGroupRawAst)
protected

Definition at line 169 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.variable_declarator = T("variable_declarator")
protected

Definition at line 170 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.variable_declarator_list = T("variable_declarator_list", CreateListFromNode<Variable>)
protected

Definition at line 173 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.variable_declarator_qualifier_post = TT("variable_declarator_qualifier_post")
protected

Definition at line 172 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.variable_declarator_raw = T("variable_declarator_raw")
protected

Definition at line 171 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.variable_identifier = T("variable_identifier", CreateVariableReferenceExpressionAst)
protected

Definition at line 174 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.vector_type = T("vector_type")
protected

Definition at line 179 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.vector_type_list = TT("vector_type_list")
protected

Definition at line 180 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.void_type = T("void_type", (context, node) => Ast<TypeName>(node).Name = new Identifier("void") { Span = SpanConverter.Convert(node.Span) })
protected

Definition at line 181 of file ShaderGrammar.cs.

readonly NonTerminal SiliconStudio.Shaders.Grammar.ShaderGrammar.while_statement = T("while_statement", CreateWhileStatementAst)
protected

Definition at line 182 of file ShaderGrammar.cs.

readonly Terminal SiliconStudio.Shaders.Grammar.ShaderGrammar.whitespace = new Terminal("whitespace", Irony.Parsing.TokenCategory.Content, TermFlags.IsNonGrammar) { AstNodeConfig = new TokenInfo(TokenCategory.WhiteSpace) }

Definition at line 45 of file ShaderGrammar.cs.


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