Started eval_multiplies: tokens=[('number', 2), ('binop+',), ('number', 3), ('binop*',), ('(',), ('number', 4), ('binop+',), ('unop-',), ('number', 3), (')',)]
Started eval_adds: tokens=[('number', 2), ('binop+',), ('number', 3), ('binop*',), ('(',), ('number', 4), ('binop+',), ('unop-',), ('number', 3), (')',)]
Started eval_unops: tokens=[('number', 2), ('binop+',), ('number', 3), ('binop*',), ('(',), ('number', 4), ('binop+',), ('unop-',), ('number', 3), (')',)]
Started eval_factor: tokens=[('number', 2), ('binop+',), ('number', 3), ('binop*',), ('(',), ('number', 4), ('binop+',), ('unop-',), ('number', 3), (')',)]
Returning 2