001package org.maltparser.core.syntaxgraph; 002 003import java.util.Set; 004 005import org.maltparser.core.exception.MaltChainedException; 006import org.maltparser.core.syntaxgraph.edge.Edge; 007import org.maltparser.core.syntaxgraph.node.PhraseStructureNode; 008/** 009* 010* 011* @author Johan Hall 012*/ 013public interface PhraseStructure extends TokenStructure, SecEdgeStructure { 014 public PhraseStructureNode addTerminalNode() throws MaltChainedException; 015 public PhraseStructureNode addTerminalNode(int index) throws MaltChainedException; 016 public PhraseStructureNode getTerminalNode(int index); 017 public int nTerminalNode(); 018 public Edge addPhraseStructureEdge(PhraseStructureNode source, PhraseStructureNode target) throws MaltChainedException; 019 public void removePhraseStructureEdge(PhraseStructureNode source, PhraseStructureNode target) throws MaltChainedException; 020 public int nEdges(); 021 public PhraseStructureNode getPhraseStructureRoot(); 022 public PhraseStructureNode getNonTerminalNode(int index) throws MaltChainedException; 023 public PhraseStructureNode addNonTerminalNode() throws MaltChainedException; 024 public PhraseStructureNode addNonTerminalNode(int index) throws MaltChainedException; 025 public int getHighestNonTerminalIndex(); 026 public Set<Integer> getNonTerminalIndices(); 027 public boolean hasNonTerminals(); 028 public int nNonTerminals(); 029 public boolean isContinuous(); 030 public boolean isContinuousExcludeTerminalsAttachToRoot(); 031// public void makeContinuous() throws MaltChainedException; 032}