                 loc1 = try! leftHandExpression.code(loc)
             }
             if let newLoc = rhs?.codeReference(loc1) {
-                AST.codeArray[loc1++] = buildCommand(.Store)
+                
                 loc1 = newLoc
             } else {
                 loc1 = try! rightHandExpression.code(loc1)
             }
+            AST.codeArray[loc1++] = buildCommand(.Store)
             guard let newLoc = try! nextCmd?.code(loc1) else {
                 return loc1
             }

        func check() throws {
            //TODO: check ParameterList with Expressionlist: Type, Count, Mechmode and Changemode
        }

	}


            try! cmd.check()
        }
        
        func code(let loc:Int) -> [Int:String] { //CheckCode
            AST.codeArray[loc] = buildCommand(.AllocBlock, param: "\(AST.allocBlock)")
            let newLoc = try! cmd.code(loc + 1)
            AST.codeArray[newLoc] = buildCommand(.Stop)
