package com.imegumii; import java.util.Arrays; import java.util.Set; import java.util.SortedSet; import java.util.TreeSet; /** * Created by imegumii on 18/04/2017. */ public class Automata { protected Set> transistions; protected SortedSet states; protected SortedSet beginStates; protected SortedSet eindStates; protected SortedSet symbols; public Automata(Character [] symbols) { this(new TreeSet(Arrays.asList(symbols))); } public Automata(SortedSet symbols) { states = new TreeSet(); beginStates = new TreeSet(); eindStates = new TreeSet(); transistions = new TreeSet<>(); this.symbols = symbols; } public void addTransition (Transition t) { transistions.add(t); states.add(t.vanState); states.add(t.naarState); } public void defineAsStartState(T t) { states.add(t); beginStates.add(t); } public void defineAsEndState(T t) { states.add(t); eindStates.add(t); } public void printTransitions () { transistions.forEach(System.out::println); } public void clearEindStates() { eindStates.clear(); } public void clearBeginStates() { beginStates.clear(); } }