private bool Expect(enmTerminalType terminal)
 {
     if (Accept(terminal))
     {
         return(true);
     }
     else
     {
         // Unexpected symbol
         return(false);
     }
 }
 private bool Accept(enmTerminalType terminal)
 {
     if (CurrentIndex < Symbols.Length &&
         ((terminal == enmTerminalType.Const && IsConst(Symbols[CurrentIndex])) ||
          (terminal == enmTerminalType.Id && IsId(Symbols[CurrentIndex])) ||
          (TerminalAbbreviations.ContainsKey(terminal) && TerminalAbbreviations[terminal] == Symbols[CurrentIndex])))
     {
         GetNextSymbol();
         return(true);
     }
     else
     {
         return(false);
     }
 }