/// <summary> /// Returns the most probable TokenTypes for the next Token /// given the current position in the tokens flow /// </summary> public IList <WordProbability> NextWordsProbabilities() { WordProbabilitiesAfterElementStartingWord wordProbabilities = null; if (WordProbabilitiesAfterElementStartingWord.TryGetValue(lastElementStartingWord, out wordProbabilities)) { return(wordProbabilities.NextWordsProbability(lastWord, lastKeywordToken)); } else { return(null); } }
private void OnBeginElement(TokenType tokenType) { lastElementStartingWord = tokenType; elementStartingWordIndexInProgram++; wordIndexInElement = 0; WordProbabilitiesAfterElementStartingWord wordProbabilities = null; if (!WordProbabilitiesAfterElementStartingWord.TryGetValue(lastElementStartingWord, out wordProbabilities)) { wordProbabilities = new WordProbabilitiesAfterElementStartingWord(lastElementStartingWord); WordProbabilitiesAfterElementStartingWord.Add(lastElementStartingWord, wordProbabilities); } wordProbabilities.OnElementStartingWord(elementStartingWordIndexInProgram); }
public LanguageModelGenerator() { var wordProbabilities = new WordProbabilitiesAfterElementStartingWord(TokenType.InvalidToken); WordProbabilitiesAfterElementStartingWord.Add(TokenType.InvalidToken, wordProbabilities); }