diff --git a/src/com/annimon/everlastingsummer/Parser.java b/src/com/annimon/everlastingsummer/Parser.java index 87ed8f9..5a3683d 100644 --- a/src/com/annimon/everlastingsummer/Parser.java +++ b/src/com/annimon/everlastingsummer/Parser.java @@ -411,6 +411,16 @@ public final class Parser { } private Expression expression() { + return unary(); + } + + private Expression unary() { + if (match(TokenType.MINUS)) { + return new ValueExpression( -primary().eval() ); + } + if (match(TokenType.PLUS)) { + return primary(); + } return primary(); }