001 package org.maltparser.core.syntaxgraph.node;
002
003 import java.util.SortedSet;
004
005 import org.maltparser.core.exception.MaltChainedException;
006 import org.maltparser.core.syntaxgraph.headrules.HeadRules;
007
008 public interface NonTerminalNode extends PhraseStructureNode {
009 public TokenNode identifyHead(HeadRules headRules) throws MaltChainedException;
010 public TokenNode getLexicalHead(HeadRules headRules) throws MaltChainedException;
011 public TokenNode getLexicalHead() throws MaltChainedException;
012 public PhraseStructureNode getHeadChild(HeadRules headRules) throws MaltChainedException;
013 public PhraseStructureNode getHeadChild() throws MaltChainedException;
014 public SortedSet<PhraseStructureNode> getChildren();
015 public PhraseStructureNode getChild(int index);
016 public PhraseStructureNode getLeftChild();
017 public PhraseStructureNode getRightChild();
018 public int nChildren();
019 public boolean hasNonTerminalChildren();
020 public boolean hasTerminalChildren();
021 public int getHeight();
022 public boolean isContinuous();
023 public boolean isContinuousExcludeTerminalsAttachToRoot();
024 //public void reArrangeChildrenAccordingToLeftAndRightProperDesendant() throws MaltChainedException;
025 }