public Sentence_Parser load(string key, Sentence_Parser sentence) { last_word = sentence.last_word; if (source.key.Length > 0) { key = source.key; } if (original_phrase.get_element(id) != null) { if (sentence.last_word != null) { last_word = sentence.last_word; } foreach (var original in sentence.original_words) { if (original.text == id) { confidence = original.confidence; sentence.original_words.Remove(original); break; } } sentence.last_word = this; } else if (text != "" || source.GetType() == typeof(Element_Word)) { sentence.last_word = this; } foreach (Token child in children) { sentence = child.load(key, sentence); } if (source.GetType() == typeof(Element_Item)) { foreach (Action action in ((Element_Item)source).actions) { actions.Add(action); } if (actions.Count > 0) { original_phrase.final_action = actions[actions.Count - 1]; } } return(sentence); }
public void process() { words = new List <Token>(); text = get_text(0, -1); LinkedList <Token> original_words = new LinkedList <Token>(); foreach (ISpeechPhraseElement element in phrase.Elements) { original_words.AddLast(initialize_word(element)); } if (phrase.Properties != null) { foreach (ISpeechPhraseProperty property in phrase.Properties) { // if (property.EngineConfidence >= 0.4) { Token transition = initialize_word(property); if (transition != null) { words.Add(transition); } else { //SilentOrb.Utility.Feedback.print("error", SilentOrb.Utility.Feedback.Status.debug); } } //break; } if (words.Count != 0) { if (words[words.Count - 1].source == null) { return; } document = words[words.Count - 1].source.document; Sentence_Parser sentence = new Sentence_Parser(); sentence.last_word = null; sentence.original_words = original_words; foreach (Token transition in words) { sentence = transition.load("", sentence); } } } }