class DFA[StateType] ( val Q:Set[StateType], val F:Set[StateType], val q0:StateType, val delta: (StateType,Char)=>StateType, val Sigma:Set[Char] ) { ...