public CSharpGenerator(Automaton <BDD> automaton, CharSetSolver solver, string classname, string namespacename, bool OptimzeForAsciiInput = true)
 {
     this.solver        = solver;
     this.automaton     = automaton;
     this.namespacename = namespacename;
     this.classname     = classname;
     ASCII             = solver.MkCharSetFromRange('\0', '\x7F');
     helper_predicates = new HelperPredicates(solver, OptimzeForAsciiInput);
 }
 public CSharpGenerator(Automaton<BDD> automaton, CharSetSolver solver, string classname, string namespacename, bool OptimzeForAsciiInput = true)
 {
     this.solver = solver;
     this.automaton = automaton;
     this.namespacename = namespacename;
     this.classname = classname;
     ASCII = solver.MkCharSetFromRange('\0', '\x7F');
     helper_predicates = new HelperPredicates(solver, OptimzeForAsciiInput);
 }
 public CppCodeGenerator(CharSetSolver solver, string classname, string namespacename, bool exportIsMatch, bool optimzeForAsciiInput, params Regex[] regexes)
 {
     this.automata          = Array.ConvertAll(regexes, r => Regex2Automaton(solver, r));
     this.solver            = solver;
     this.classname         = classname;
     this.namespacename     = namespacename;
     this.helper_predicates = new HelperPredicates(solver, optimzeForAsciiInput);
     this.exportIsMatch     = exportIsMatch;
 }
 public CppCodeGenerator(CharSetSolver solver, string classname, string namespacename, bool exportIsMatch, bool optimzeForAsciiInput, params Automaton <BDD>[] automata)
 {
     this.automata          = automata;
     this.solver            = solver;
     this.classname         = classname;
     this.namespacename     = namespacename;
     this.helper_predicates = new HelperPredicates(solver, optimzeForAsciiInput);
     this.exportIsMatch     = exportIsMatch;
 }
 public CppCodeGenerator(CharSetSolver solver, string classname, string namespacename, bool exportIsMatch, bool optimzeForAsciiInput, params Regex[] regexes)
 {
     this.automata = Array.ConvertAll(regexes, r => Regex2Automaton(solver, r));
     this.solver = solver;
     this.classname = classname;
     this.namespacename = namespacename;
     this.helper_predicates = new HelperPredicates(solver, optimzeForAsciiInput);
     this.exportIsMatch = exportIsMatch;
 }
 public CppCodeGenerator(CharSetSolver solver, string classname, string namespacename, bool exportIsMatch, bool optimzeForAsciiInput, params Automaton<BDD>[] automata)
 {
     this.automata = automata;
     this.solver = solver;
     this.classname = classname;
     this.namespacename = namespacename;
     this.helper_predicates = new HelperPredicates(solver, optimzeForAsciiInput);
     this.exportIsMatch = exportIsMatch;
 }