if (nonTerminal.hasParentEdgeLabel(symbolTables.getSymbolTable("LABEL"))) { writer.write(nonTerminal.getParentEdgeLabelSymbol(symbolTables.getSymbolTable("LABEL"))); } else {
for (String edgeLabelColumn : edgeLabelColumns.keySet()) { table = symbolTables.getSymbolTable(edgeLabelColumns.get(edgeLabelColumn).getName()); if (nt.hasParentEdgeLabel(table) && !nt.getParent().isRoot() && !nt.getParentEdgeLabelSymbol(table).equals(EMPTY_EDGELABEL)) { writer.write(EDGELABEL_SEPARATOR); writer.write(nt.getParentEdgeLabelSymbol(table));
for (String edgeLabelColumn : edgeLabelColumns.keySet()) { table = symbolTables.getSymbolTable(edgeLabelColumns.get(edgeLabelColumn).getName()); if (nt.hasParentEdgeLabel(table) && !nt.getParent().isRoot() && !nt.getParentEdgeLabelSymbol(table).equals(EMPTY_EDGELABEL)) { writer.write(EDGELABEL_SEPARATOR); writer.write(nt.getParentEdgeLabelSymbol(table));
public PhraseStructureNode getHeadChild(NonTerminalNode nt) throws MaltChainedException { HeadRule rule = null; if (nt.hasLabel(nonTerminalSymbolTable)) { rule = this.get(nonTerminalSymbolTable.getName()+":"+nt.getLabelSymbol(nonTerminalSymbolTable)); } if (rule == null && nt.hasParentEdgeLabel(edgelabelSymbolTable)) { rule = this.get(edgelabelSymbolTable.getName()+":"+nt.getParentEdgeLabelSymbol(edgelabelSymbolTable)); } if (rule != null) { return rule.getHeadChild(nt); } return null; }
public Direction getDefaultDirection(NonTerminalNode nt) throws MaltChainedException { HeadRule rule = null; if (nt.hasLabel(nonTerminalSymbolTable)) { rule = this.get(nonTerminalSymbolTable.getName()+":"+nt.getLabelSymbol(nonTerminalSymbolTable)); } if (rule == null && nt.hasParentEdgeLabel(edgelabelSymbolTable)) { rule = this.get(edgelabelSymbolTable.getName()+":"+nt.getParentEdgeLabelSymbol(edgelabelSymbolTable)); } if (rule != null) { return rule.getDefaultDirection(); } return Direction.LEFT; }