Esempio n. 1
0
 /// <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);
 }
Esempio n. 2
0
        /// <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);
        }
Esempio n. 3
0
        /// <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));
        }
Esempio n. 4
0
 /// <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()));
 }
Esempio n. 5
0
        /// <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));
        }