public void OnWords(TokenType firstWord, TokenType secondWord, SymbolInformation secondWordSymbolInfo, TokenType lastWordBeforeSymbolOrLiteral, int secondWordIndexInElement) { TotalCount++; int firstWordKey = ComputeLastWordsKey(firstWord, lastWordBeforeSymbolOrLiteral); NextWordProbabilities nextWordProbabilities = null; if (!WordProbabilities.TryGetValue(firstWordKey, out nextWordProbabilities)) { nextWordProbabilities = new NextWordProbabilities(firstWordKey); WordProbabilities.Add(firstWordKey, nextWordProbabilities); } nextWordProbabilities.OnNextWord(secondWord, secondWordSymbolInfo, secondWordIndexInElement); }
public IList <WordProbability> NextWordsProbability(TokenType lastWord, TokenType lastWordBeforeSymbolOrLiteral) { int lastWordKey = ComputeLastWordsKey(lastWord, lastWordBeforeSymbolOrLiteral); NextWordProbabilities wordProbabilities = null; if (WordProbabilities.TryGetValue(lastWordKey, out wordProbabilities)) { return(wordProbabilities.NextWords); } else { return(null); } }
public void OnWords(TokenType firstWord, TokenType secondWord, SymbolInformation secondWordSymbolInfo, TokenType lastWordBeforeSymbolOrLiteral, int secondWordIndexInElement) { TotalCount++; int firstWordKey = ComputeLastWordsKey(firstWord, lastWordBeforeSymbolOrLiteral); NextWordProbabilities nextWordProbabilities = null; if (!WordProbabilities.TryGetValue(firstWordKey, out nextWordProbabilities)) { nextWordProbabilities = new NextWordProbabilities(firstWordKey); WordProbabilities.Add(firstWordKey, nextWordProbabilities); } nextWordProbabilities.OnNextWord(secondWord, secondWordSymbolInfo, secondWordIndexInElement); }