Enhanced C#
Language of your choice: library documentation
|
An immutable set that implements IPGTerminalSet so that it can be used by LLParserGenerator. More...
An immutable set that implements IPGTerminalSet so that it can be used by LLParserGenerator.
This class effectively represents any type of set. It is used by GeneralCodeGenHelper.
Public static fields | |
static readonly LNode | EOF_node = GeneralCodeGenHelper.EOF |
static new readonly PGNodeSet | Empty = new PGNodeSet(Set<LNode>.Empty) |
static new readonly PGNodeSet | All = new PGNodeSet(InvertibleSet<LNode>.All) |
static readonly PGNodeSet | AllExceptEOF = new PGNodeSet(InvertibleSet<LNode>.All.Without(EOF_node)) |
![]() | |
static readonly InvertibleSet< T > | Empty |
static readonly InvertibleSet< T > | All |
Properties | |
bool | ContainsEOF [get] |
char? | ExampleChar [get] |
![]() | |
Set< T > | BaseSet [get] |
bool | IsInverted [get] |
bool | IsEmpty [get] |
bool | ContainsEverything [get] |
![]() | |
bool | IsInverted [get] |
bool | ContainsEOF [get] |
bool | IsEmptySet [get] |
bool | ContainsEverything [get] |
IPGTerminalSet | Empty [get] |
Returns the empty set. More... | |
Public Member Functions | |
PGNodeSet (Set< LNode > set, bool inverted=false) | |
PGNodeSet (InvertibleSet< LNode > set) | |
PGNodeSet (IEnumerable< LNode > list, bool inverted=false) | |
PGNodeSet (params LNode[] list) | |
IPGTerminalSet | UnionCore (IPGTerminalSet other) |
Merges two sets. More... | |
PGNodeSet | Intersect (PGNodeSet other, bool subtract=false, bool subtractThis=false) |
IPGTerminalSet | WithEOF (bool wantEOF=true) |
Adds or removes EOF from the set. If the set doesn't change, this method may return this. More... | |
IPGTerminalSet | Optimize (IPGTerminalSet dontcare) |
bool | Equals (IPGTerminalSet other) |
override string | ToString () |
![]() | |
InvertibleSet< T > | With (T item) |
InvertibleSet< T > | Without (T item) |
InvertibleSet (Set< T > set, bool inverted) | |
InvertibleSet (IEnumerable< T > list, bool inverted=false) | |
InvertibleSet (IEnumerable< T > list, IEqualityComparer< T > comparer, bool inverted=false) | |
InvertibleSet< T > | Inverted () |
bool | Contains (T item) |
InvertibleSet< T > | Union (InvertibleSet< T > other) |
InvertibleSet< T > | Intersect (InvertibleSet< T > other) |
InvertibleSet< T > | Intersect (InvertibleSet< T > other, bool subtractOther) |
InvertibleSet< T > | Except (InvertibleSet< T > other) |
InvertibleSet< T > | Xor (InvertibleSet< T > other) |
override int | GetHashCode () |
override bool | Equals (object obj) |
bool | IsSubsetOf (InvertibleSet< T > other) |
TODO NOT IMPLEMENTED Returns true if all items in this set are present in the other set. More... | |
bool | IsSupersetOf (InvertibleSet< T > other) |
TODO NOT IMPLEMENTED Returns true if all items in the other set are present in this set. More... | |
bool | Overlaps (InvertibleSet< T > other) |
TODO NOT IMPLEMENTED Returns true if this set contains at least one item from 'other'. More... | |
bool | IsProperSubsetOf (InvertibleSet< T > other) |
bool | IsProperSupersetOf (InvertibleSet< T > other) |
bool | SetEquals (InvertibleSet< T > other) |
Additional Inherited Members | |
![]() | |
static InvertibleSet< T > | With (params T[] list) |
static InvertibleSet< T > | Without (params T[] list) |
![]() | |
InvertibleSet< T > | With (T item, bool removed) |
|
inline |
Merges two sets.
Implements Loyc.LLParserGenerator.IPGTerminalSet.
|
inline |
Adds or removes EOF from the set. If the set doesn't change, this method may return this.
Implements Loyc.LLParserGenerator.IPGTerminalSet.