internal Token NextToken(int id) { Token token = NextToken(); if (token.Id == id) { if (_errorRecovery > 0) { _errorRecovery--; } return(token); } else { var list = new ArrayList(1) { _tokenizer.GetPatternDescription(id) }; throw new ParseException( ParseException.ErrorType.UNEXPECTED_TOKEN, token.ToShortString(), list, token.StartLine, token.StartColumn); } }
public string ToString(Tokenizer tokenizer) { StringBuilder buffer = new StringBuilder(); if (tokenizer == null) { buffer.Append(_tokens.ToString()); } else { buffer.Append("["); for (int i = 0; i < _tokens.Count; i++) { var id = (int)_tokens[i]; var str = tokenizer.GetPatternDescription(id); if (i > 0) { buffer.Append(" "); } buffer.Append(str); } buffer.Append("]"); } if (_repeat) { buffer.Append(" *"); } return(buffer.ToString()); }