private void peekError(TokenType type) { var msg = $"expected next token to be {type}, got {_peekToken.Type} instead"; ParserTracing.Error(msg); _errors.Add(msg); }
private void noPrefixParseFnError(TokenType type) { var msg = $"no prefix parse function for {type} found"; ParserTracing.Error(msg); _errors.Add(msg); }
private Expression parseIntegerLiteral() { ParserTracing.Trace("integer literal"); var token = _currentToken; if (!Int64.TryParse(_currentToken.Literal, System.Globalization.NumberStyles.None, null, out var value)) { var msg = $"could not parse \"{_currentToken.Literal}\" as integer"; ParserTracing.Error(msg); _errors.Add(msg); return(null); } ParserTracing.Untrace("integer literal"); return(new IntegerLiteral { Token = token, Value = value }); }