001/* Copyright (C) 2013 TU Dortmund 002 * This file is part of AutomataLib, http://www.automatalib.net/. 003 * 004 * AutomataLib is free software; you can redistribute it and/or 005 * modify it under the terms of the GNU Lesser General Public 006 * License version 3.0 as published by the Free Software Foundation. 007 * 008 * AutomataLib is distributed in the hope that it will be useful, 009 * but WITHOUT ANY WARRANTY; without even the implied warranty of 010 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 011 * Lesser General Public License for more details. 012 * 013 * You should have received a copy of the GNU Lesser General Public 014 * License along with AutomataLib; if not, see 015 * http://www.gnu.de/documents/lgpl.en.html. 016 */ 017package net.automatalib.util.automata.fsa; 018 019 020 021public abstract class NFAs { 022 023 /* 024 public static <I> FastDFA<I> determinize(NFA<?,I> nfa, 025 Alphabet<I> inputAlphabet, boolean partial) { 026 FastDFA<I> out = new FastDFA<I>(inputAlphabet); 027 doDeterminize(nfa, out, inputAlphabet); 028 return out; 029 } 030 031 public static <I> void determinize(NFA<?,I> nfa, 032 MutableDFA<?,I> out, 033 Collection<? extends I> inputs, boolean partial) { 034 doDeterminize(nfa, out, inputs); 035 } 036 037 private static <SI,SO,I> void doDeterminize(NFA<SI,I> nfa, 038 MutableDFA<SO,I> out, 039 Collection<? extends I> inputs) { 040 Automata.cop 041 Automata.genericCopy(nfa.powersetView(), 042 inputs, 043 out, 044 Mappings.<I>identity(), 045 Acceptors.existentialAcceptance(nfa), 046 Mappings.<Void,Void>nullMapping()); 047 } 048 049 */ 050 051 private NFAs() {} 052}