    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    }