|
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)} |
|
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< Scanner > | ScannerBuilder |
|
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 |
|
|
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) |
|
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 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) |
|
|
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) |
|
|
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 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) |
|
NonTerminal | NewLinePlus [get] |
|
NonTerminal | NewLineStar [get] |
|
static Grammar | CurrentGrammar [get] |
|
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.