package de.unisiegen.gtitool.core.machines.dfa; import de.unisiegen.gtitool.core.entities.Alphabet; import de.unisiegen.gtitool.core.machines.AbstractMachine; /** * The class for deterministic finite automatons. * * @author Christian Fehler * @version $Id$ */ public final class DefaultDFA extends AbstractMachine implements DFA { /** * The serial version uid. */ private static final long serialVersionUID = 6284801477317314839L; /** * Allocates a new {@link DFA}. * * @param alphabet The {@link Alphabet} of this {@link DFA}. * @param pushDownAlphabet The push down {@link Alphabet} of this {@link DFA}. * @param usePushDownAlphabet The use push down {@link Alphabet}. */ public DefaultDFA ( Alphabet alphabet, Alphabet pushDownAlphabet, boolean usePushDownAlphabet ) { super ( alphabet, pushDownAlphabet, usePushDownAlphabet, ValidationElement.ALL_SYMBOLS, ValidationElement.EPSILON_TRANSITION, ValidationElement.TRANSITION_STACK_OPERATION, ValidationElement.FINAL_STATE, ValidationElement.MORE_THAN_ONE_START_STATE, ValidationElement.NO_START_STATE, ValidationElement.STATE_NAME, ValidationElement.STATE_NOT_REACHABLE, ValidationElement.SYMBOL_ONLY_ONE_TIME ); } /** * {@inheritDoc} * * @see AbstractMachine#getMachineType() */ @Override public final MachineType getMachineType () { return MachineType.DFA; } }