001 package org.maltparser.parser.algorithm.stack;
002
003 import org.maltparser.core.exception.MaltChainedException;
004 import org.maltparser.parser.Algorithm;
005 import org.maltparser.parser.TransitionSystem;
006 import org.maltparser.parser.guide.OracleGuide;
007 import org.maltparser.parser.history.GuideUserHistory;
008 /**
009 * @author Johan Hall
010 *
011 */
012 public class StackSwapLazyFactory extends StackFactory {
013 public StackSwapLazyFactory(Algorithm algorithm) {
014 super(algorithm);
015 }
016
017 public TransitionSystem makeTransitionSystem() throws MaltChainedException {
018 if (manager.getConfigLogger().isInfoEnabled()) {
019 manager.getConfigLogger().info(" Transition system : Non-Projective\n");
020 }
021 TransitionSystem ts = new NonProjective();
022 ts.setPropagationManager(manager.getPropagationManager());
023 return ts;
024 }
025
026 public OracleGuide makeOracleGuide(GuideUserHistory history) throws MaltChainedException {
027 if (manager.getConfigLogger().isInfoEnabled()) {
028 manager.getConfigLogger().info(" Oracle : Swap-Lazy\n");
029 }
030 return new SwapLazyOracle(manager, history);
031 }
032 }