001package org.maltparser.parser;
002
003import org.maltparser.core.exception.MaltChainedException;
004import org.maltparser.core.feature.AbstractFeatureFactory;
005import org.maltparser.parser.guide.OracleGuide;
006import org.maltparser.parser.history.GuideUserHistory;
007/**
008 * @author Johan Hall
009 *
010 */
011public interface AbstractParserFactory extends AbstractFeatureFactory {
012        /**
013         * Creates a parser configuration
014         * 
015         * @return a parser configuration
016         * @throws MaltChainedException
017         */
018        public ParserConfiguration makeParserConfiguration() throws MaltChainedException;
019        /**
020         * Creates a transition system
021         * 
022         * @return a transition system
023         * @throws MaltChainedException
024         */
025        public TransitionSystem makeTransitionSystem() throws MaltChainedException;
026        /**
027         * Creates an oracle guide
028         * 
029         * @param history a reference to the history
030         * @return  an oracle guide
031         * @throws MaltChainedException
032         */
033        public OracleGuide makeOracleGuide(GuideUserHistory history) throws MaltChainedException;
034}