System\Text\RegularExpressions\Symbolic\RegexNodeConverter.cs (42)
31Debug.Assert(_builder is not null);
58result.AddLast(_builder.CreateSingleton(_builder._charSetSolver.CreateBDDFromChar(node.Ch)));
62result.AddLast(_builder.CreateSingleton(_builder._solver.Not(_builder._charSetSolver.CreateBDDFromChar(node.Ch))));
76result.AddLast(_builder.CreateSingleton(_builder._charSetSolver.CreateBDDFromChar(c)));
112BDD bdd = _builder._charSetSolver.CreateBDDFromChar(node.Ch);
115bdd = _builder._solver.Not(bdd);
117result.AddLast(_builder.CreateLoop(_builder.CreateSingleton(bdd), node.Kind is RegexNodeKind.Onelazy or RegexNodeKind.Notonelazy, node.M, node.N));
128result.AddLast(_builder.CreateLoop(_builder.CreateSingleton(setBdd), node.Kind == RegexNodeKind.Setlazy, node.M, node.N));
137result.AddLast(_builder._nothing);
143result.AddLast(_builder.BeginningAnchor);
148result.AddLast(_builder.BolAnchor);
152result.AddLast(_builder.EndAnchor);
157result.AddLast(_builder.EndAnchorZ);
162result.AddLast(_builder.EolAnchor);
167result.AddLast(_builder.BoundaryAnchor);
172result.AddLast(_builder.NonBoundaryAnchor);
226SymbolicRegexNode<BDD> or = _builder._nothing;
236_builder.CreateConcatAlreadyReversed(childResult);
237if (elem.IsNothing(_builder._solver))
242or = elem.IsAnyStar(_builder._solver) ?
244SymbolicRegexNode<BDD>.CreateAlternate(_builder, elem, or);
259_builder.CreateConcatAlreadyReversed(childResult);
260result.AddLast(_builder.CreateLoop(body, node.Kind == RegexNodeKind.Lazyloop, node.M, node.N));
275childResult.AddFirst(_builder.CreateCaptureStart(captureNum));
276childResult.AddLast(_builder.CreateCaptureEnd(captureNum));
289_builder.CreateConcatAlreadyReversed(rootResult);
294if (_builder._newLineSet.Equals(_builder._solver.Empty))
296_builder._newLineSet = _builder._charSetSolver.CreateBDDFromChar('\n');
303if (_builder._wordLetterForBoundariesSet.Equals(_builder._solver.Empty))
306_builder._wordLetterForBoundariesSet = UnicodeCategoryConditions.WordLetterForAnchors((CharSetSolver)_builder._solver);
317return _builder.CreateSingleton(CreateBDDFromSetString(set));
346var charSetSolver = (CharSetSolver)_builder._solver;