Enhanced C#
Language of your choice: library documentation
|
Holds information about the first set or kth set of a single arm of an Alts. More...
Holds information about the first set or kth set of a single arm of an Alts.
The main information this class holds is (1) a list of Transitions (e.g. for the first set, LA = 0, each Transition represents moving from the beginning of the Alts to another location in the grammar based on a single input terminal), and (2) the Set of all terminals used in any of the transitions.
For example, suppose the grammar is as follows (where "strings" are actually aliases for tokens):
If the starting position is right after "for", then ComputeNextSet will generate two Cases, one at ident."in" ident
and another at ident.'=' Range
. In both cases, the Set is ident, so KthSet.Set will also be ident.
Public fields | |
int | LA = -1 |
List< Transition > | Cases = new List<Transition>() |
IPGTerminalSet | Set |
Set< AndPred > | AndReq |
KthSet | Prev |
int | Alt |
bool | IsNongreedyExit |
Properties | |
bool | HasAnyAndPreds [get] |
Public Member Functions | |
KthSet (KthSet prev) | |
KthSet (Pred start, int alt, IPGTerminalSet emptySet, bool isNongreedyExit=false) | |
void | UpdateSet (bool addEOF) |
override string | ToString () |
KthSet | Clone (bool updateSet) |