From 3f5f8bca469f1dd25913156cef594a2ef75102dc Mon Sep 17 00:00:00 2001 From: Victor Date: Thu, 16 Apr 2015 20:29:28 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=BE=D0=BA=D1=80=D0=B0=D1=89=D1=91?= =?UTF-8?q?=D0=BD=D0=BD=D0=B0=D1=8F=20=D0=BE=D0=BF=D0=B5=D1=80=D0=B0=D1=86?= =?UTF-8?q?=D0=B8=D1=8F=20=D1=81=D0=BB=D0=BE=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F?= =?UTF-8?q?/=D0=B2=D1=8B=D1=87=D0=B8=D1=82=D0=B0=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/annimon/everlastingsummer/Parser.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) 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;