001package org.maltparser.core.syntaxgraph.node; 002 003import java.util.SortedSet; 004 005import org.maltparser.core.exception.MaltChainedException; 006import org.maltparser.core.syntaxgraph.headrules.HeadRules; 007 008public 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}