Checks if it is possible that this rule will try to match the given rule in at the current parse position.
Collects all IGrammarRules that are referenced by this rule or any of its descendants.
Returns a rule that matches the input only iff this rule matches but the given exception rule does not.
Returns a rule that matches a non-empty list of elements (matched by this rule) that are delimited by the given rule.
Returns a rule that matches this rule
n times, where
n lies in the range
Tries to match the given input tokens.
When this method returns
false, the state of the given parser context will have remained unchanged.
Tries to match the given character.
This method is useful for matching single token rules.
Creates a named grammar rule from this rule.
- See also
Returns a rule that check if this rule matches the subsequent input, without updating the parser context.
Transforms this rule into a AST grammar rule (according to RuleToSourceFlags.GrammarAst).
Returns the string representation of this rule.
The string representation will be wrapped in braces if necessary regarding to the outer rule precedence.
Can this rule match empty input?
Is this a terminal rule?
A terminal rule performs flat matching of the input characters, without any further rule recursion. This is not to be confused with RulePrecedence.Terminal, which indicates the precedence of rules in their grammar.
Replaces all sequences of unmatched characters in the given string value with the specified replacement character.
Each character of value in is matched individually using IRule.Match2.