示例#1
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
//ORIGINAL LINE: public boolean permissible(org.maltparser.parser.history.action.GuideUserAction currentAction, org.maltparser.parser.ParserConfiguration config) throws org.maltparser.core.exception.MaltChainedException
        public override bool permissible(GuideUserAction currentAction, ParserConfiguration config)
        {
            CovingtonConfig      covingtonConfig = (CovingtonConfig)config;
            DependencyNode       leftTarget      = covingtonConfig.LeftTarget;
            DependencyNode       rightTarget     = covingtonConfig.RightTarget;
            IDependencyStructure dg = covingtonConfig.DependencyGraph;

            currentAction.getAction(actionContainers);
            int trans = transActionContainer.ActionCode;

            if (trans == SHIFT && covingtonConfig.AllowShift == false)
            {
                return(false);
            }
            if ((trans == LEFTARC || trans == RIGHTARC) && !ActionContainersLabeled)
            {
                return(false);
            }
            if (trans == LEFTARC && leftTarget.Root)
            {
                return(false);
            }
            if (trans == LEFTARC && dg.HasLabeledDependency(leftTarget.Index))
            {
                return(false);
            }
            if (trans == RIGHTARC && dg.HasLabeledDependency(rightTarget.Index))
            {
                return(false);
            }
            return(true);
        }