private string traverse(int num, Set set, float num2) { StringBuilder stringBuilder = new StringBuilder(); for (int i = 0; i < num; i++) { stringBuilder.append(" "); } stringBuilder.append("N(").append(this.getID()).append("):"); stringBuilder.append("p:").append(num2); if (this.isFinalNode()) { stringBuilder.append(" !"); } Word[][] array = this.getAlternatives(); for (int j = 0; j < array.Length; j++) { for (int k = 0; k < array[j].Length; k++) { stringBuilder.append(' ').append(array[j][k].getSpelling()); } if (j < array.Length - 1) { stringBuilder.append('|'); } } [email protected](stringBuilder); if (!this.isFinalNode() && !set.contains(this)) { set.add(this); GrammarArc[] successors = this.getSuccessors(); GrammarArc[] array2 = successors; int num3 = array2.Length; for (int l = 0; l < num3; l++) { GrammarArc grammarArc = array2[l]; GrammarNode grammarNode = grammarArc.getGrammarNode(); grammarNode.traverse(num + 1, set, grammarArc.getProbability()); } } else if (this.isFinalNode()) { set.add(this); } return(stringBuilder.toString()); }