public virtual void connect() { GrammarArc[] successors = this.getSuccessors(); int num = successors.Length; for (int i = 0; i < num; i++) { GrammarArc grammarArc = successors[i]; FlatLinguist.GState gstate = this.this_0.getGState(grammarArc.getGrammarNode()); if (gstate.getNode().isEmpty() || !String.instancehelper_equals(gstate.getNode().getWord().getSpelling(), "<s>")) { float num2 = grammarArc.getProbability(); if (FlatLinguist.access_800(this.this_0) && !gstate.getNode().isEmpty()) { int num3 = gstate.getNode().getWord().getPronunciations().Length; num2 -= this.this_0.logMath.linearToLog((double)num3); } float num4 = num2; Iterator iterator = this.exitPoints.entrySet().iterator(); while (iterator.hasNext()) { Map.Entry entry = (Map.Entry)iterator.next(); List list = gstate.getEntryPoints((ContextPair)entry.getKey()); if (list != null) { List list2 = (List)entry.getValue(); this.connect(list2, list, num4); } } } } }
internal virtual void pushLeftContexts(Set set, Collection collection) { if (set.contains(this.getNode())) { return; } set.add(this.getNode()); GrammarArc[] successors = this.getSuccessors(); int num = successors.Length; for (int i = 0; i < num; i++) { GrammarArc grammarArc = successors[i]; FlatLinguist.GState gstate = this.this_0.getGState(grammarArc.getGrammarNode()); gstate.addLeftContext(collection); if (gstate.getNode().isEmpty()) { gstate.pushLeftContexts(set, collection); } } }