Enhanced C#
Language of your choice: library documentation
|
Represents a nonterminal, which is a reference to a rule. More...
Represents a nonterminal, which is a reference to a rule.
Public fields | |
new Rule | Rule |
LNodeList | Params = LNodeList.Empty |
bool? | IsInline = null |
Public fields inherited from Loyc.LLParserGenerator.Pred | |
Symbol | VarLabel |
bool | VarIsList |
Func< LNode, LNode > | ResultSaver |
A function that saves the result produced by the matching code of this predicate (null if the result is not saved). For example, if the parser generator is given the predicate @[ x='a'..'z' ] , the default matching code will be @(Match('a', 'z')), and ResultSaver will be set to a function that receives this matching code and returns @(x = Match('a', 'z')) in response. More... | |
Properties | |
override bool | IsNullable [get] |
Properties inherited from Loyc.LLParserGenerator.Pred | |
LNode | Basis [get, protected set] |
abstract bool | IsNullable [get] |
Returns true if this predicate can match an empty input. More... | |
object? | Location [get] |
Properties inherited from Loyc.IHasLocation | |
object | Location [get] |
Public Member Functions | |
RuleRef (LNode basis, Rule rule) | |
override string | ToString () |
override string | ChooseGotoLabel () |
Optional. If this predicate represents the matching code for a branch of an Alts and this code is reached through a goto statement, this method is used to select a label name. Supported by RuleRef. More... | |
override void | Call (PredVisitor visitor) |
Public Member Functions inherited from Loyc.LLParserGenerator.Pred | |
Pred (LNode basis) | |
LNode | AutoSaveResult (LNode matchingCode) |
virtual Pred | Clone () |
Deep-clones a predicate tree. Terminal sets and Nodes referenced by the tree are not cloned; the clone's value of Next will be null. The same Pred cannot appear in two places in a tree, so you must clone before re-use. More... | |
string | ToStringWithPosition () |
Public Member Functions inherited from Loyc.ICloneable< Pred > | |
T | Clone () |
Additional Inherited Members | |
Static Public Member Functions inherited from Loyc.LLParserGenerator.Pred | |
static Seq | operator+ (char a, Pred b) |
static Seq | operator+ (Pred a, char b) |
static Seq | operator+ (Pred a, Pred b) |
static Pred | operator| (char a, Pred b) |
static Pred | operator| (Pred a, char b) |
static Pred | operator| (Pred a, Pred b) |
static Pred | operator/ (Pred a, Pred b) |
static Pred | operator+ (Pred a) |
static Pred | Or (Pred a, Pred b, bool slashJoined) |
static Pred | Or (Pred a, Pred b, bool slashJoined, LNode basis, BranchMode aMode=BranchMode.None, BranchMode bMode=BranchMode.None, IMessageSink sink=null) |
static Alts | Star (Pred contents, bool? greedy=null) |
static Alts | Opt (Pred contents, bool? greedy=null) |
static Seq | Plus (Pred contents, bool? greedy=null) |
static TerminalPred | Range (char lo, char hi) |
static TerminalPred | Set (IPGTerminalSet set) |
static TerminalPred | Set (string set) |
static TerminalPred | Set (params LNode[] s) |
static TerminalPred | Not (params LNode[] s) |
static TerminalPred | Char (char c) |
static TerminalPred | Chars (params char[] c) |
static Seq | Seq (string s, LNode basis=null) |
static Rule | Rule (string name, Pred pred, bool isStartingRule=false, bool isToken=false, int maximumK=-1) |
static Pred | operator+ (LNode pre, Pred p) |
static Pred | operator+ (Pred p, LNode post) |
static LNode | MergeActions (LNode action, LNode action2) |
static AndPred | And (object test) |
static AndPred | AndNot (object test) |
static Pred | Set (string varName, Pred pred) |
static Pred | SetVar (string varName, Pred pred) |
static Pred | AddSet (string varName, Pred pred) |
static Pred | Op (string varName, Symbol @operator, Pred pred) |
|
inlinevirtual |
Optional. If this predicate represents the matching code for a branch of an Alts and this code is reached through a goto statement, this method is used to select a label name. Supported by RuleRef.
Reimplemented from Loyc.LLParserGenerator.Pred.
References Loyc.Symbol.Name.