package org.maltparser.core.syntaxgraph; import java.util.Set; import org.maltparser.core.exception.MaltChainedException; import org.maltparser.core.syntaxgraph.edge.Edge; import org.maltparser.core.syntaxgraph.node.PhraseStructureNode; /** * * * @author Johan Hall */ public interface PhraseStructure extends TokenStructure, SecEdgeStructure { public PhraseStructureNode addTerminalNode() throws MaltChainedException; public PhraseStructureNode addTerminalNode(int index) throws MaltChainedException; public PhraseStructureNode getTerminalNode(int index); public int nTerminalNode(); public Edge addPhraseStructureEdge(PhraseStructureNode source, PhraseStructureNode target) throws MaltChainedException; public void removePhraseStructureEdge(PhraseStructureNode source, PhraseStructureNode target) throws MaltChainedException; public int nEdges(); public PhraseStructureNode getPhraseStructureRoot(); public PhraseStructureNode getNonTerminalNode(int index) throws MaltChainedException; public PhraseStructureNode addNonTerminalNode() throws MaltChainedException; public PhraseStructureNode addNonTerminalNode(int index) throws MaltChainedException; public int getHighestNonTerminalIndex(); public Set<Integer> getNonTerminalIndices(); public boolean hasNonTerminals(); public int nNonTerminals(); public boolean isContinuous(); public boolean isContinuousExcludeTerminalsAttachToRoot(); // public void makeContinuous() throws MaltChainedException; }