solpl 2.3.6__tar.gz → 2.3.7__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: solpl
3
- Version: 2.3.6
3
+ Version: 2.3.7
4
4
  Summary: Sol Programming Language Interpreter
5
5
  Requires-Python: >=3.7
6
6
  License-File: LICENSE
@@ -45,7 +45,8 @@ class SolInterpreter:
45
45
 
46
46
  def _compute(self, expr):
47
47
  expr = str(expr).strip()
48
- if "+" in expr and any(c.isalpha() or c in ['"', "'"] for c in expr):
48
+ is_literal = (expr.startswith('"') and expr.endswith('"')) or (expr.startswith("'") and expr.endswith("'"))
49
+ if "+" in expr and not is_literal and any(c.isalpha() or c in ['"', "'"] for c in expr):
49
50
  parts = expr.split("+")
50
51
  result = ""
51
52
  for p in parts:
@@ -148,7 +149,9 @@ class SolInterpreter:
148
149
  def get_val(expr):
149
150
  val = self._compute(expr.strip())
150
151
  return val if val is not None else 0
151
-
152
+ if "==" in cond:
153
+ left, right = cond.split("==", 1)
154
+ return get_val(left) == get_val(right)
152
155
  if "=" in cond:
153
156
  left, right = cond.split("=")
154
157
  return get_val(left) == get_val(right)
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "solpl"
7
- version = "2.3.6"
7
+ version = "2.3.7"
8
8
  description = "Sol Programming Language Interpreter"
9
9
  requires-python = ">=3.7"
10
10
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: solpl
3
- Version: 2.3.6
3
+ Version: 2.3.7
4
4
  Summary: Sol Programming Language Interpreter
5
5
  Requires-Python: >=3.7
6
6
  License-File: LICENSE
File without changes
File without changes
File without changes
File without changes