diff --git a/expressions.txt b/expressions.txt
index 2496a8c41f9a2197a73951a75488c52093302ad8..2b40ceaf50da3b0bfc6d612b6c9576e312e575a9 100644
--- a/expressions.txt
+++ b/expressions.txt
@@ -1 +1 @@
-x+2/40+3*x
\ No newline at end of file
+40.2+3*x
\ No newline at end of file
diff --git a/src/Parser.java b/src/Parser.java
index bc9dd7c53696c2a9141e128c46b7806cd4d05fed..fcc6fa333dc8dce123c0c474f149f5d35d9e0ee2 100644
--- a/src/Parser.java
+++ b/src/Parser.java
@@ -101,6 +101,36 @@ public class Parser {
         if(ts.size()==1) {
             return null;
         }
+        int index;
+        for(index=0; index<ts.size(); index++) {
+            if(ts.get(index).getType()== Lexer.TokenType.SPECIAL) {
+                if(!parseCharacter(ts.get(index).getData(), ".")) {
+                    break;
+                }
+            }
+        }
+        if(index==ts.size()) {
+            return null;
+        }
+        //0
+        //1
+        //2
+        //3
+        //4 * => index=4
+
+        //5
+        //6
+        //7
+        List<Lexer.Token> leftList = new LinkedList<>();
+        for(int i=0; i<index; i++) {
+            leftList.add(ts.remove(0));
+        }
+        Expression leftExpression = parseExpression(leftList);
+        String operator = ts.remove(0).getData();
+        parseOperator(operator);
+        Expression rightExpression = parseExpression(ts);
+
+        /*
         if(parseCharacter(ts.get(1).getData(), ".")) {
             return null;
         }
@@ -114,6 +144,8 @@ public class Parser {
         String operator = ts.remove(0).getData();
         parseOperator(operator);
         Expression rightExpression = parseExpression(ts);
+
+         */
         return new BinaryOperation(leftExpression, operator, rightExpression);
     }