001    package org.maltparser.parser;
002    
003    import org.maltparser.core.exception.MaltChainedException;
004    import org.maltparser.core.feature.AbstractFeatureFactory;
005    import org.maltparser.parser.guide.OracleGuide;
006    import org.maltparser.parser.history.GuideUserHistory;
007    /**
008     * @author Johan Hall
009     *
010     */
011    public 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    }