public Token OutputBuffer(Symbol symbol) { return new Token(symbol, storedLine, storedColumn, buffer.ToString()); }
/* Identifier or keyword */ Token IdentifierOrKeyword() { input.StorePosition(); input.BufferClear(); while (input.CanContinue && input.Current.IsIdentifier()) { input.BufferAppend(input.Current); input.Advance(); } // Keyword or identifier? Symbol symbol; if (keywords.TryGetValue(input.Buffer, out symbol)) { return(input.Output(symbol)); } return(input.OutputBuffer(Symbol.Identifier)); }