From a52098c0304f32725b2425878d25fcb47bd32b17 Mon Sep 17 00:00:00 2001 From: Kraemerd <Dominic_Daniel.Kraemer@Student.Reutlingen-University.de> Date: Sat, 7 Jan 2023 14:48:54 +0100 Subject: [PATCH] implemented better text output for the ParserExceptions --- src/Parser.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Parser.java b/src/Parser.java index 358b187..7e341d1 100644 --- a/src/Parser.java +++ b/src/Parser.java @@ -84,7 +84,7 @@ public class Parser { //parses a list of tokens into a value private Optional<Expression> parseValue(List<Lexer.Token> ts) throws ParserException { if (ts.isEmpty()) { - throw new ParserException("SyntaxError: expected a number"); + throw new ParserException("RuntimeException: empty token list"); } if (ts.get(0).getType() != Lexer.TokenType.NUMBER) { return Optional.empty(); @@ -114,13 +114,13 @@ public class Parser { //parses a decimal of a list of tokens & a string private Expression parseDecimal(List<Lexer.Token> ts, String data) throws ParserException { if(ts.size()<1) { - throw new ParserException("SyntaxError: "); + throw new ParserException("RuntimeException: empty token list"); } if(ts.get(0).getType() != Lexer.TokenType.SPECIAL) { - throw new ParserException(""); + throw new ParserException("SyntaxException: expected a comma"); } if(ts.get(1).getType() != Lexer.TokenType.NUMBER) { - throw new ParserException(""); + throw new ParserException("SyntaxException: expected a number after a comma"); } Number beforeDot = (Number) parseNumber(data); ts.remove(0); -- GitLab