RailroadExpression
ChartForgeX.VisualBlocks
An immutable grammar expression shared by grammar frontends and the native railroad renderer.
Inheritance
- object
- RailroadExpression
Usage
Explore 25 API references to this type
This type appears in these public API surfaces even when no hand-authored example is attached directly to the page.
Returned or exposed by 15
- Property MermaidRailroadExpression.Expression
- Method RailroadExpression.AnyCharacter
- Method RailroadExpression.CharacterRange
- Method RailroadExpression.Choice
- Method RailroadExpression.Empty
- Method RailroadExpression.Except
- Method RailroadExpression.Lookahead
- Method RailroadExpression.Optional
- Method RailroadExpression.Reference
- Method RailroadExpression.Repeat
- Method RailroadExpression.Sequence
- Method RailroadExpression.Special
- Method RailroadExpression.Terminal
- Property RailroadExpression.Children
- Property RailroadRule.Expression
Accepted by parameters 10
- Constructor MermaidRailroadExpression.MermaidRailroadExpression
- Method RailroadDiagramBlock.AddRule
- Method RailroadExpression.Choice
- Method RailroadExpression.Except
- Method RailroadExpression.Except
- Method RailroadExpression.Lookahead
- Method RailroadExpression.Optional
- Method RailroadExpression.Repeat
- Method RailroadExpression.Sequence
- Constructor RailroadRule.RailroadRule
Methods
public static RailroadExpression AnyCharacter() #Creates a match for any one character.
Returns
RailroadExpressionpublic static RailroadExpression CharacterRange(int first, int last) #Creates an inclusive Unicode code-point range.
Parameters
- first int
- last int
Returns
RailroadExpressionpublic static RailroadExpression Choice(IEnumerable<RailroadExpression> alternatives, bool ordered = false) #Creates alternatives, optionally preserving ordered-choice priority.
Parameters
- alternatives System.Collections.Generic.IEnumerable<ChartForgeX.VisualBlocks.RailroadExpression>
- ordered bool = false
Returns
RailroadExpressionpublic static RailroadExpression Choice(params RailroadExpression[] alternatives) #Creates unordered alternatives.
Parameters
- alternatives ChartForgeX.VisualBlocks.RailroadExpression[]
Returns
RailroadExpressionpublic static RailroadExpression Except(RailroadExpression expression, RailroadExpression excluded) #Creates a language exclusion, distinct from a consuming choice.
Parameters
- expression ChartForgeX.VisualBlocks.RailroadExpression
- excluded ChartForgeX.VisualBlocks.RailroadExpression
Returns
RailroadExpressionpublic static RailroadExpression Lookahead(RailroadExpression expression, bool positive = true) #Creates a zero-width positive or negative predicate.
Parameters
- expression ChartForgeX.VisualBlocks.RailroadExpression
- positive bool = true
Returns
RailroadExpressionpublic static RailroadExpression Optional(RailroadExpression expression) #Creates an optional path.
Parameters
- expression ChartForgeX.VisualBlocks.RailroadExpression
Returns
RailroadExpressionpublic static RailroadExpression Reference(string ruleId) #Creates a symbolic rule reference. Recursive references are not expanded.
Parameters
- ruleId string
Returns
RailroadExpressionpublic static RailroadExpression Repeat(RailroadExpression expression, int minimum, int? maximum = null) #Creates repetition with exact inclusive bounds; null maximum means unbounded.
Parameters
- expression ChartForgeX.VisualBlocks.RailroadExpression
- minimum int
- maximum int? = null
Returns
RailroadExpressionpublic static RailroadExpression Sequence(IEnumerable<RailroadExpression> elements) #Creates an ordered concatenation; an empty collection consumes no input.
Parameters
- elements System.Collections.Generic.IEnumerable<ChartForgeX.VisualBlocks.RailroadExpression>
Returns
RailroadExpressionpublic static RailroadExpression Sequence(params RailroadExpression[] elements) #Creates an ordered concatenation.
Parameters
- elements ChartForgeX.VisualBlocks.RailroadExpression[]
Returns
RailroadExpressionpublic static RailroadExpression Special(string description) #Creates an explicitly described special condition.
Parameters
- description string
Returns
RailroadExpressionpublic static RailroadExpression Terminal(string text, bool caseSensitive = true) #Creates a literal, including an empty literal.
Parameters
- text string
- caseSensitive bool = true
Returns
RailroadExpressionInherited Methods
Properties
public string Value { get; } #Gets literal text, reference identity or special-condition text, according to Kind.
public IReadOnlyList<RailroadExpression> Children { get; } #Gets children in semantic order.
public bool CaseSensitive { get; } #Gets whether a literal comparison is case-sensitive.
public bool OrderedChoice { get; } #Gets whether alternatives are tried in their authored order.
public int? MaximumOccurrences { get; } #Gets the maximum repeat count; null means unbounded.
public int FirstCodePoint { get; } #Gets the inclusive start of a character range.
public int LastCodePoint { get; } #Gets the inclusive end of a character range.
public int Depth { get; } #Gets expression nesting depth without expanding references or repeat counts.