C# Class Irony.Parsing.Grammar

Afficher le fichier Open project: o2platform/O2.Platform.Projects Class Usage Examples

Méthodes publiques

Свойство Type Description
CaseSensitive bool
ConsoleGreeting string
ConsolePrompt string
ConsolePromptMoreInput string
ConsoleTitle string
Dedent Irony.Parsing.Terminal
DefaultCulture System.Globalization.CultureInfo
DefaultLiteralNodeType System.Type
DefaultNodeType System.Type
Delimiters string
Empty Irony.Parsing.Terminal
Eof Irony.Parsing.Terminal
Eos Irony.Parsing.Terminal
FallbackTerminals TerminalSet
GrammarComments string
Indent Irony.Parsing.Terminal
KeyTerms KeyTermTable
LanguageFlags LanguageFlags
LanguageStringComparer StringComparer
LineStartTerminal Irony.Parsing.Terminal
LineTerminators string
NewLine NewLineTerminal
NonGrammarTerminals TerminalSet
Root Irony.Parsing.NonTerminal
SnippetRoots NonTerminalSet
SyntaxError Irony.Parsing.Terminal
TermReportGroups TermReportGroupList
WhitespaceChars string

Méthodes publiques

Méthode Description
ConstructParserErrorMessage ( ParsingContext context, StringSet expectedTerms ) : string
CreateAstNode ( ParsingContext context, ParseTreeNode nodeInfo ) : void
CreateRuntime ( Irony.Parsing.LanguageData data ) : LanguageRuntime
CreateTokenFilters ( Irony.Parsing.LanguageData language, TokenFilterList filters ) : void
FlagIsSet ( LanguageFlags flag ) : bool
GetParseNodeCaption ( ParseTreeNode node ) : string
Grammar ( ) : System
Grammar ( bool caseSensitive ) : System
MakePlusRule ( Irony.Parsing.NonTerminal listNonTerminal, BnfTerm listMember ) : BnfExpression
MakePlusRule ( Irony.Parsing.NonTerminal listNonTerminal, BnfTerm delimiter, BnfTerm listMember ) : BnfExpression
MakePlusRule ( Irony.Parsing.NonTerminal listNonTerminal, BnfTerm delimiter, BnfTerm listMember, TermListOptions options ) : BnfExpression
MakeStarRule ( Irony.Parsing.NonTerminal listNonTerminal, BnfTerm listMember ) : BnfExpression
MakeStarRule ( Irony.Parsing.NonTerminal listNonTerminal, BnfTerm delimiter, BnfTerm listMember ) : BnfExpression
MakeStarRule ( Irony.Parsing.NonTerminal listNonTerminal, BnfTerm delimiter, BnfTerm listMember, TermListOptions options ) : BnfExpression
MarkMemberSelect ( ) : void
MarkNotReported ( ) : void
MarkPunctuation ( ) : void
MarkReservedWords ( ) : void
MarkTransient ( ) : void
OnGrammarDataConstructed ( Irony.Parsing.LanguageData language ) : void
OnLanguageDataConstructed ( Irony.Parsing.LanguageData language ) : void
OnResolvingConflict ( ConflictResolutionArgs args ) : void

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.

OnScannerSelectTerminal ( ParsingContext context ) : void

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.

RegisterBracePair ( string openBrace, string closeBrace ) : void
RegisterOperators ( int precedence ) : void
RegisterOperators ( int precedence, Associativity associativity ) : void
RunSample ( ParseTree parsedSample ) : string
ToTerm ( string text ) : KeyTerm
ToTerm ( string text, string name ) : KeyTerm
TryMatch ( ParsingContext context, ISourceStream source ) : Token

Méthodes protégées

Méthode Description
AddOperatorReportGroup ( string alias ) : void

Adds a group and an alias for all operator symbols used in the grammar.

AddTermsReportGroup ( string alias ) : void

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]"

AddToNoReportGroup ( ) : void

Adds symbols to a group with no-report type, so symbols will not be shown in expected lists in syntax error messages.

ImplyPrecedenceHere ( int precedence ) : GrammarHint
ImplyPrecedenceHere ( int precedence, Associativity associativity ) : GrammarHint
PreferShiftHere ( ) : GrammarHint
ReduceHere ( ) : GrammarHint
ResolveInCode ( ) : GrammarHint

Private Methods

Méthode Description
ClearCurrentGrammar ( ) : void
RegisterPunctuation ( ) : void
Symbol ( string symbol ) : KeyTerm
Symbol ( string symbol, string name ) : KeyTerm
SymbolsToTerms ( IEnumerable symbols ) : IEnumerable

Method Details

AddOperatorReportGroup() protected méthode

Adds a group and an alias for all operator symbols used in the grammar.
protected AddOperatorReportGroup ( string alias ) : void
alias string An alias for operator symbols.
Résultat void

AddTermsReportGroup() protected méthode

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]"
protected AddTermsReportGroup ( string alias ) : void
alias string An alias for all terminals in the group.
Résultat void

AddToNoReportGroup() protected méthode

Adds symbols to a group with no-report type, so symbols will not be shown in expected lists in syntax error messages.
protected AddToNoReportGroup ( ) : void
Résultat void

ConstructParserErrorMessage() public méthode

public ConstructParserErrorMessage ( ParsingContext context, StringSet expectedTerms ) : string
context ParsingContext
expectedTerms StringSet
Résultat string

CreateAstNode() public méthode

public CreateAstNode ( ParsingContext context, ParseTreeNode nodeInfo ) : void
context ParsingContext
nodeInfo ParseTreeNode
Résultat void

CreateRuntime() public méthode

public CreateRuntime ( Irony.Parsing.LanguageData data ) : LanguageRuntime
data Irony.Parsing.LanguageData
Résultat LanguageRuntime

CreateTokenFilters() public méthode

public CreateTokenFilters ( Irony.Parsing.LanguageData language, TokenFilterList filters ) : void
language Irony.Parsing.LanguageData
filters TokenFilterList
Résultat void

FlagIsSet() public méthode

public FlagIsSet ( LanguageFlags flag ) : bool
flag LanguageFlags
Résultat bool

GetParseNodeCaption() public méthode

public GetParseNodeCaption ( ParseTreeNode node ) : string
node ParseTreeNode
Résultat string

Grammar() public méthode

public Grammar ( ) : System
Résultat System

Grammar() public méthode

public Grammar ( bool caseSensitive ) : System
caseSensitive bool
Résultat System

ImplyPrecedenceHere() protected méthode

protected ImplyPrecedenceHere ( int precedence ) : GrammarHint
precedence int
Résultat GrammarHint

ImplyPrecedenceHere() protected méthode

protected ImplyPrecedenceHere ( int precedence, Associativity associativity ) : GrammarHint
precedence int
associativity Associativity
Résultat GrammarHint

MakePlusRule() public static méthode

public static MakePlusRule ( Irony.Parsing.NonTerminal listNonTerminal, BnfTerm listMember ) : BnfExpression
listNonTerminal Irony.Parsing.NonTerminal
listMember BnfTerm
Résultat BnfExpression

MakePlusRule() public static méthode

public static MakePlusRule ( Irony.Parsing.NonTerminal listNonTerminal, BnfTerm delimiter, BnfTerm listMember ) : BnfExpression
listNonTerminal Irony.Parsing.NonTerminal
delimiter BnfTerm
listMember BnfTerm
Résultat BnfExpression

MakePlusRule() public static méthode

public static MakePlusRule ( Irony.Parsing.NonTerminal listNonTerminal, BnfTerm delimiter, BnfTerm listMember, TermListOptions options ) : BnfExpression
listNonTerminal Irony.Parsing.NonTerminal
delimiter BnfTerm
listMember BnfTerm
options TermListOptions
Résultat BnfExpression

MakeStarRule() public static méthode

public static MakeStarRule ( Irony.Parsing.NonTerminal listNonTerminal, BnfTerm listMember ) : BnfExpression
listNonTerminal Irony.Parsing.NonTerminal
listMember BnfTerm
Résultat BnfExpression

MakeStarRule() public static méthode

public static MakeStarRule ( Irony.Parsing.NonTerminal listNonTerminal, BnfTerm delimiter, BnfTerm listMember ) : BnfExpression
listNonTerminal Irony.Parsing.NonTerminal
delimiter BnfTerm
listMember BnfTerm
Résultat BnfExpression

MakeStarRule() public static méthode

public static MakeStarRule ( Irony.Parsing.NonTerminal listNonTerminal, BnfTerm delimiter, BnfTerm listMember, TermListOptions options ) : BnfExpression
listNonTerminal Irony.Parsing.NonTerminal
delimiter BnfTerm
listMember BnfTerm
options TermListOptions
Résultat BnfExpression

MarkMemberSelect() public méthode

public MarkMemberSelect ( ) : void
Résultat void

MarkNotReported() public méthode

public MarkNotReported ( ) : void
Résultat void

MarkPunctuation() public méthode

public MarkPunctuation ( ) : void
Résultat void

MarkReservedWords() public méthode

public MarkReservedWords ( ) : void
Résultat void

MarkTransient() public méthode

public MarkTransient ( ) : void
Résultat void

OnGrammarDataConstructed() public méthode

public OnGrammarDataConstructed ( Irony.Parsing.LanguageData language ) : void
language Irony.Parsing.LanguageData
Résultat void

OnLanguageDataConstructed() public méthode

public OnLanguageDataConstructed ( Irony.Parsing.LanguageData language ) : void
language Irony.Parsing.LanguageData
Résultat void

OnResolvingConflict() public méthode

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.
public OnResolvingConflict ( ConflictResolutionArgs args ) : void
args ConflictResolutionArgs
Résultat void

OnScannerSelectTerminal() public méthode

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.
public OnScannerSelectTerminal ( ParsingContext context ) : void
context ParsingContext
Résultat void

PreferShiftHere() protected méthode

protected PreferShiftHere ( ) : GrammarHint
Résultat GrammarHint

ReduceHere() protected méthode

protected ReduceHere ( ) : GrammarHint
Résultat GrammarHint

RegisterBracePair() public méthode

public RegisterBracePair ( string openBrace, string closeBrace ) : void
openBrace string
closeBrace string
Résultat void

RegisterOperators() public méthode

public RegisterOperators ( int precedence ) : void
precedence int
Résultat void

RegisterOperators() public méthode

public RegisterOperators ( int precedence, Associativity associativity ) : void
precedence int
associativity Associativity
Résultat void

ResolveInCode() protected méthode

protected ResolveInCode ( ) : GrammarHint
Résultat GrammarHint

RunSample() public méthode

public RunSample ( ParseTree parsedSample ) : string
parsedSample ParseTree
Résultat string

ToTerm() public méthode

public ToTerm ( string text ) : KeyTerm
text string
Résultat KeyTerm

ToTerm() public méthode

public ToTerm ( string text, string name ) : KeyTerm
text string
name string
Résultat KeyTerm

TryMatch() public méthode

public TryMatch ( ParsingContext context, ISourceStream source ) : Token
context ParsingContext
source ISourceStream
Résultat Token

Property Details

CaseSensitive public_oe property

Gets case sensitivity of the grammar. Read-only, true by default. Can be set to false only through a parameter to grammar constructor.
public bool CaseSensitive
Résultat bool

ConsoleGreeting public_oe property

public string ConsoleGreeting
Résultat string

ConsolePrompt public_oe property

public string ConsolePrompt
Résultat string

ConsolePromptMoreInput public_oe property

public string ConsolePromptMoreInput
Résultat string

ConsoleTitle public_oe property

public string ConsoleTitle
Résultat string

Dedent public_oe property

public Terminal,Irony.Parsing Dedent
Résultat Irony.Parsing.Terminal

DefaultCulture public_oe property

public CultureInfo,System.Globalization DefaultCulture
Résultat System.Globalization.CultureInfo

DefaultLiteralNodeType public_oe property

public Type,System DefaultLiteralNodeType
Résultat System.Type

DefaultNodeType public_oe property

public Type,System DefaultNodeType
Résultat System.Type

Delimiters public_oe property

public string Delimiters
Résultat string

Empty public_oe property

public Terminal,Irony.Parsing Empty
Résultat Irony.Parsing.Terminal

Eof public_oe property

public Terminal,Irony.Parsing Eof
Résultat Irony.Parsing.Terminal

Eos public_oe property

public Terminal,Irony.Parsing Eos
Résultat Irony.Parsing.Terminal

FallbackTerminals public_oe property

public TerminalSet FallbackTerminals
Résultat TerminalSet

GrammarComments public_oe property

public string GrammarComments
Résultat string

Indent public_oe property

public Terminal,Irony.Parsing Indent
Résultat Irony.Parsing.Terminal

KeyTerms public_oe property

public KeyTermTable KeyTerms
Résultat KeyTermTable

LanguageFlags public_oe property

public LanguageFlags LanguageFlags
Résultat LanguageFlags

LanguageStringComparer public_oe property

public StringComparer LanguageStringComparer
Résultat StringComparer

LineStartTerminal public_oe property

public Terminal,Irony.Parsing LineStartTerminal
Résultat Irony.Parsing.Terminal

LineTerminators public_oe property

public string LineTerminators
Résultat string

NewLine public_oe property

public NewLineTerminal,Irony.Parsing NewLine
Résultat NewLineTerminal

NonGrammarTerminals public_oe property

public TerminalSet NonGrammarTerminals
Résultat TerminalSet

Root public_oe property

The main root entry for the grammar.
public NonTerminal,Irony.Parsing Root
Résultat Irony.Parsing.NonTerminal

SnippetRoots public_oe property

Alternative roots for parsing code snippets.
public NonTerminalSet SnippetRoots
Résultat NonTerminalSet

SyntaxError public_oe property

public Terminal,Irony.Parsing SyntaxError
Résultat Irony.Parsing.Terminal

TermReportGroups public_oe property

public TermReportGroupList TermReportGroups
Résultat TermReportGroupList

WhitespaceChars public_oe property

public string WhitespaceChars
Résultat string