/// <summary> /// Retorna a entrada para o par passado. Returna nulo caso a entrada não exista. /// </summary> /// <param name="pair"></param> /// <returns></returns> private TableEntry GetEntry(SymbolPair pair) { if (HasEntry(pair)) { return(_tableEntryHash[pair.ToString()]); } return(null); }
/// <summary> /// Adiciona uma entrada na tabela /// </summary> /// <param name="entry"></param> /// <returns>Verdadeiro caso essa entrada seja nova na tabela</returns> public bool AddEntry(TableEntry entry) { SymbolPair pair = new SymbolPair(entry.Horizontal, entry.Vertical); if (!HasEntry(pair)) { _tableEntryHash.Add(pair.ToString(), entry); return(true); } return(false); }
/// <summary> /// Retorna a entrada para o par passado. Returna nulo caso a entrada não exista. /// </summary> /// <param name="horizontal"></param> /// <param name="vertical"></param> /// <returns></returns> public TableEntry GetEntry(Symbol horizontal, GrammarState vertical) { SymbolPair pair = new SymbolPair(horizontal, vertical); return(GetEntry(pair)); }
/// <summary> /// Retorna verdadeiro ou false se tiver a entrada com os símbolos passados /// </summary> /// <param name="pair"></param> /// <returns></returns> private bool HasEntry(SymbolPair pair) { return(_tableEntryHash.ContainsKey(pair.ToString())); }
/// <summary> /// Retorna verdadeiro ou false se tiver a entrada com os símbolos passados /// </summary> /// <param name="horizontal"></param> /// <param name="vertical"></param> /// <returns></returns> public bool HasEntry(Symbol horizontal, GrammarState vertical) { SymbolPair pair = new SymbolPair(horizontal, vertical); return(HasEntry(pair)); }