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); } }