From d64e5deb5cd7c853bef96b9d80919a176b703b26 Mon Sep 17 00:00:00 2001 From: Oskari Timperi Date: Tue, 8 Dec 2015 22:07:24 +0200 Subject: interpret both + and - --- calc1.pas | 11 +++++++++-- tests/calc1.txt | 4 ++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/calc1.pas b/calc1.pas index 2efd2a3..b5d906b 100644 --- a/calc1.pas +++ b/calc1.pas @@ -180,12 +180,19 @@ begin Eat(TT_Integer); Op := Current; - Eat(TT_Minus); + + if Op.TokenType = TT_Plus then + Eat(TT_Plus) + else + Eat(TT_Minus); Right := Current; Eat(TT_Integer); - Result := TokenInteger(Left).Val - TokenInteger(Right).Val; + if Op.TokenType = TT_Plus then + Result := TokenInteger(Left).Val + TokenInteger(Right).Val + else + Result := TokenInteger(Left).Val - TokenInteger(Right).Val; end; var diff --git a/tests/calc1.txt b/tests/calc1.txt index a343306..ac08e76 100644 --- a/tests/calc1.txt +++ b/tests/calc1.txt @@ -24,3 +24,7 @@ Simple calculations 1-1 0 100-3 97 50${SPACE*5}- 5 45 + + 1+1 2 + 100+3 103 + 34 +${SPACE*4}6 40 -- cgit v1.2.3