diff options
| -rw-r--r-- | calc1.pas | 11 | ||||
| -rw-r--r-- | tests/calc1.txt | 4 |
2 files changed, 13 insertions, 2 deletions
@@ -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 |
