Beispiel #1
0
        private void peekError(TokenType type)
        {
            var msg = $"expected next token to be {type}, got {_peekToken.Type} instead";

            ParserTracing.Error(msg);
            _errors.Add(msg);
        }
Beispiel #2
0
        private void noPrefixParseFnError(TokenType type)
        {
            var msg = $"no prefix parse function for {type} found";

            ParserTracing.Error(msg);
            _errors.Add(msg);
        }
Beispiel #3
0
        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
            });
        }