1 instantiation of SymbolicRegexMatcher
System.Text.RegularExpressions (1)
System\Text\RegularExpressions\Symbolic\SymbolicRegexMatcher.cs (1)
165
return new
SymbolicRegexMatcher
<TSet>(builder, rootNode, captureCount, findOptimizations, matchTimeout);
50 references to SymbolicRegexMatcher
System.Text.RegularExpressions (50)
System\Text\RegularExpressions\Symbolic\MatchingState.cs (2)
24
/// The kind of the previous character in the input. The <see cref="
SymbolicRegexMatcher
{TSet}"/> is responsible
43
/// A unique identifier for this state, which is used in <see cref="
SymbolicRegexMatcher
{TSet}"/> to index into
System\Text\RegularExpressions\Symbolic\StateFlags.cs (2)
8
/// conditions in the inner matching loops of <see cref="
SymbolicRegexMatcher
{TSet}"/>. The matcher caches one of these
10
/// In DFA mode the cached flags are used directly, while in NFA mode the <see cref="
SymbolicRegexMatcher
{TSet}.NfaStateHandler"/>
System\Text\RegularExpressions\Symbolic\SymbolicRegexMatcher.cs (27)
141
/// <summary>Creates a new <see cref="
SymbolicRegexMatcher
{TSetType}"/>.</summary>
148
public static
SymbolicRegexMatcher
<TSet> Create(
1216
public void InitializeFrom(
SymbolicRegexMatcher
<TSet> matcher, MatchingState<TSet> dfaMatchingState)
1254
public static abstract bool IsNullableFor(
SymbolicRegexMatcher
<TSet> matcher, in CurrentState state, uint nextCharKind);
1255
public static abstract StateFlags GetStateFlags(
SymbolicRegexMatcher
<TSet> matcher, in CurrentState state);
1262
public static bool IsNullableFor(
SymbolicRegexMatcher
<TSet> matcher, in CurrentState state, uint nextCharKind) =>
1268
public static bool TryTakeTransition(
SymbolicRegexMatcher
<TSet> matcher, ref int dfaStateId, int mintermId, long timeoutOccursAt = 0)
1304
public static StateFlags GetStateFlags(
SymbolicRegexMatcher
<TSet> matcher, in CurrentState state) =>
1312
public static bool StartsWithLineAnchor(
SymbolicRegexMatcher
<TSet> matcher, in CurrentState state)
1326
public static bool IsNullableFor(
SymbolicRegexMatcher
<TSet> matcher, in CurrentState state, uint nextCharKind)
1340
public static bool TryTakeTransition(
SymbolicRegexMatcher
<TSet> matcher, ref CurrentState state, int mintermId)
1395
static int[] GetNextStates(int sourceState, int mintermId,
SymbolicRegexMatcher
<TSet> matcher)
1420
public static StateFlags GetStateFlags(
SymbolicRegexMatcher
<TSet> matcher, in CurrentState state)
1470
public static abstract int GetPositionId(
SymbolicRegexMatcher
<TSet> matcher, ReadOnlySpan<char> input, int pos);
1480
public static int GetPositionId(
SymbolicRegexMatcher
<TSet> matcher, ReadOnlySpan<char> input, int pos)
1499
public static int GetPositionId(
SymbolicRegexMatcher
<TSet> matcher, ReadOnlySpan<char> input, int pos) =>
1519
SymbolicRegexMatcher
<TSet> matcher, ReadOnlySpan<char> input, ref int currentStateId, ref int pos, byte[]? lookup);
1530
SymbolicRegexMatcher
<TSet> matcher, ReadOnlySpan<char> input, ref int currentStateId, ref int pos, byte[]? lookup) =>
1544
SymbolicRegexMatcher
<TSet> matcher, ReadOnlySpan<char> input, ref int currentStateId, ref int pos, byte[]? lookup)
1575
SymbolicRegexMatcher
<TSet> matcher, ReadOnlySpan<char> input, ref int currentStateId, ref int pos, byte[]? lookup)
1606
SymbolicRegexMatcher
<TSet> matcher, ReadOnlySpan<char> input, ref int currentStateId, ref int pos, byte[]? lookup)
1630
SymbolicRegexMatcher
<TSet> matcher, in CurrentState state, int positionId)
1639
public static bool IsNullableAt<TStateHandler>(
SymbolicRegexMatcher
<TSet> matcher, in CurrentState state, int positionId)
1654
public static bool IsNullableAt<TStateHandler>(
SymbolicRegexMatcher
<TSet> matcher, in CurrentState state, int positionId)
1666
public static abstract bool IsNullable(
SymbolicRegexMatcher
<TSet> matcher, byte stateNullability, char c, byte[] lookup);
1674
public static bool IsNullable(
SymbolicRegexMatcher
<TSet> matcher, byte stateNullability, char c, byte[] lookup) =>
1684
public static bool IsNullable(
SymbolicRegexMatcher
<TSet> matcher, byte stateNullability, char c, byte[] lookup)
System\Text\RegularExpressions\Symbolic\SymbolicRegexMatcher.Dgml.cs (3)
144
static Dictionary<(int Source, int Target), (TSet Rule, List<int> NfaTargets)> GatherTransitions(
SymbolicRegexMatcher
<TSet> matcher)
182
static string FormatInfo(
SymbolicRegexMatcher
<TSet> matcher, int transitionCount)
203
static IEnumerable<MatchingState<TSet>> GetInitialStates(
SymbolicRegexMatcher
<TSet> matcher)
System\Text\RegularExpressions\Symbolic\SymbolicRegexMatcher.Explore.cs (1)
71
static (int nfaId, (
SymbolicRegexMatcher
<TSet> Matcher, HashSet<MatchingState<TSet>> Seen, Queue<MatchingState<TSet>> ToExplore) args) =>
System\Text\RegularExpressions\Symbolic\SymbolicRegexMatcher.Sample.cs (7)
86
StateFlags flags =
SymbolicRegexMatcher
<TSet>.NfaStateHandler.GetStateFlags(this, in statesWrapper);
90
if (flags.IsNullable() ||
SymbolicRegexMatcher
<TSet>.NfaStateHandler.IsNullableFor(this, in statesWrapper, CharKind.BeginningEnd))
96
if (
SymbolicRegexMatcher
<TSet>.NfaStateHandler.IsNullableFor(this, in statesWrapper, CharKind.Newline))
102
if (
SymbolicRegexMatcher
<TSet>.NfaStateHandler.IsNullableFor(this, in statesWrapper, CharKind.WordLetter))
108
if (
SymbolicRegexMatcher
<TSet>.NfaStateHandler.IsNullableFor(this, in statesWrapper, CharKind.General))
132
int[] mintermIds =
SymbolicRegexMatcher
<TSet>.NfaStateHandler.StartsWithLineAnchor(this, in statesWrapper) ?
137
bool success =
SymbolicRegexMatcher
<TSet>.NfaStateHandler.TryTakeTransition(this, ref statesWrapper, mintermId);
System\Text\RegularExpressions\Symbolic\SymbolicRegexNode.cs (1)
1242
/// specific input position to <see cref="
SymbolicRegexMatcher
{TSet}.Registers"/> instances, which track concrete
System\Text\RegularExpressions\Symbolic\SymbolicRegexRunnerFactory.cs (7)
43
SymbolicRegexMatcher
<BitVector>.Create(regexTree.CaptureCount, regexTree.FindOptimizations, bddBuilder, rootNode, new BitVectorSolver(minterms), matchTimeout) :
44
SymbolicRegexMatcher
<ulong>.Create(regexTree.CaptureCount, regexTree.FindOptimizations, bddBuilder, rootNode, new UInt64Solver(minterms), matchTimeout);
48
protected internal override RegexRunner CreateInstance() => _matcher is
SymbolicRegexMatcher
<ulong> srmUInt64 ?
50
new Runner<BitVector>((
SymbolicRegexMatcher
<BitVector>)_matcher);
62
private readonly
SymbolicRegexMatcher
<TSet> _matcher;
65
private readonly
SymbolicRegexMatcher
<TSet>.PerThreadData _perThreadData;
67
internal Runner(
SymbolicRegexMatcher
<TSet> matcher)