diff --git a/src/com/annimon/everlastingsummer/Parser.java b/src/com/annimon/everlastingsummer/Parser.java index cfaf965..f5fd54f 100644 --- a/src/com/annimon/everlastingsummer/Parser.java +++ b/src/com/annimon/everlastingsummer/Parser.java @@ -226,6 +226,20 @@ public final class Parser { Variables.setVariable(token.getText(), expression().eval()); return false; } + if (lookMatch(1, TokenType.EQ) && match(TokenType.PLUS)) { + // variable += expression + consume(TokenType.EQ); + final double varValue = Variables.getVariable(token.getText()); + Variables.setVariable(token.getText(), varValue + expression().eval()); + return false; + } + if (lookMatch(1, TokenType.EQ) && match(TokenType.MINUS)) { + // variable -= expression + consume(TokenType.EQ); + final double varValue = Variables.getVariable(token.getText()); + Variables.setVariable(token.getText(), varValue - expression().eval()); + return false; + } } return false;