RailroadExpression Class
An expression of a rule of a railroad diagram: a terminal, a nonterminal, a sequence, a choice, an optional part, a repetition or a special sequence.
public abstract class RailroadExpressionMethods
| Name | Description |
|---|---|
| Choice(IEnumerable<RailroadExpression>) | Creates a choice: expressions of which one applies. |
| Nonterminal(string) | Creates a nonterminal: a reference to a rule, drawn in a box. |
| OneOrMore(RailroadExpression) | Creates a repetition of one or more times. |
| Optional(RailroadExpression) | Creates an optional expression: zero or one time. |
| Sequence(IEnumerable<RailroadExpression>) | Creates a sequence: expressions one after the other. |
| Special(string) | Creates a special sequence: a description of what cannot be written in the grammar, drawn as ? text ?. |
| Terminal(string) | Creates a terminal: a literal text, drawn in a rounded box. |
| ZeroOrMore(RailroadExpression) | Creates a repetition of zero or more times. |
Choice(IEnumerable<RailroadExpression>)
RailroadExpression.csCreates a choice: expressions of which one applies.
public static RailroadChoice Choice(params IEnumerable<RailroadExpression> alternatives)Parameters
alternativesIEnumerable<RailroadExpression>- The alternatives.
Returns
RailroadChoice The choice.
Nonterminal(string)
RailroadExpression.csCreates a nonterminal: a reference to a rule, drawn in a box.
public static RailroadNonterminal Nonterminal(string name)OneOrMore(RailroadExpression)
RailroadExpression.csCreates a repetition of one or more times.
public static RailroadRepetition OneOrMore(RailroadExpression expression)Parameters
expressionRailroadExpression- The repeated expression.
Returns
RailroadRepetition The repetition.
Optional(RailroadExpression)
RailroadExpression.csCreates an optional expression: zero or one time.
public static RailroadOptional Optional(RailroadExpression expression)Parameters
expressionRailroadExpression- The expression.
Returns
RailroadOptional The optional expression.
Sequence(IEnumerable<RailroadExpression>)
RailroadExpression.csCreates a sequence: expressions one after the other.
public static RailroadSequence Sequence(params IEnumerable<RailroadExpression> items)Parameters
itemsIEnumerable<RailroadExpression>- The expressions.
Returns
RailroadSequence The sequence.
Special(string)
RailroadExpression.csCreates a special sequence: a description of what cannot be written in the grammar, drawn as ? text ?.
public static RailroadSpecial Special(string text)Terminal(string)
RailroadExpression.csCreates a terminal: a literal text, drawn in a rounded box.
public static RailroadTerminal Terminal(string value)ZeroOrMore(RailroadExpression)
RailroadExpression.csCreates a repetition of zero or more times.
public static RailroadRepetition ZeroOrMore(RailroadExpression expression)Parameters
expressionRailroadExpression- The repeated expression.
Returns
RailroadRepetition The repetition.