Delete evaluator.py shim: all imports go directly to bootstrapped sx_ref.py
EvalError moved to types.py. All 27 files updated to import eval_expr, trampoline, call_lambda, etc. directly from shared.sx.ref.sx_ref instead of through the evaluator.py indirection layer. 320/320 spec tests pass. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -143,7 +143,7 @@ def _emit_py(suites: list[dict], preamble: list) -> str:
|
||||
lines.append('')
|
||||
lines.append('import pytest')
|
||||
lines.append('from shared.sx.parser import parse_all')
|
||||
lines.append('from shared.sx.evaluator import _eval, _trampoline')
|
||||
lines.append('from shared.sx.ref.sx_ref import eval_expr as _eval, trampoline as _trampoline')
|
||||
lines.append('')
|
||||
lines.append('')
|
||||
lines.append(f"_PREAMBLE = '''{preamble_escaped}'''")
|
||||
|
||||
@@ -600,7 +600,7 @@ def sx_expr_source(x):
|
||||
|
||||
|
||||
try:
|
||||
from shared.sx.evaluator import EvalError
|
||||
from shared.sx.types import EvalError
|
||||
except ImportError:
|
||||
class EvalError(Exception):
|
||||
pass
|
||||
|
||||
@@ -39,7 +39,7 @@ def _get_z3_env() -> dict[str, Any]:
|
||||
return _z3_env
|
||||
|
||||
from shared.sx.parser import parse_all
|
||||
from shared.sx.evaluator import make_env, _eval, _trampoline
|
||||
from shared.sx.ref.sx_ref import make_env, eval_expr as _eval, trampoline as _trampoline
|
||||
|
||||
env = make_env()
|
||||
z3_path = os.path.join(os.path.dirname(__file__), "z3.sx")
|
||||
@@ -60,7 +60,7 @@ def z3_translate(expr: Any) -> str:
|
||||
|
||||
Delegates to z3-translate defined in z3.sx.
|
||||
"""
|
||||
from shared.sx.evaluator import _trampoline, _call_lambda
|
||||
from shared.sx.ref.sx_ref import trampoline as _trampoline, call_lambda as _call_lambda
|
||||
|
||||
env = _get_z3_env()
|
||||
return _trampoline(_call_lambda(env["z3-translate"], [expr], env))
|
||||
@@ -72,7 +72,7 @@ def z3_translate_file(source: str) -> str:
|
||||
Delegates to z3-translate-file defined in z3.sx.
|
||||
"""
|
||||
from shared.sx.parser import parse_all
|
||||
from shared.sx.evaluator import _trampoline, _call_lambda
|
||||
from shared.sx.ref.sx_ref import trampoline as _trampoline, call_lambda as _call_lambda
|
||||
|
||||
env = _get_z3_env()
|
||||
exprs = parse_all(source)
|
||||
|
||||
@@ -49,7 +49,7 @@ def load_js_sx() -> dict:
|
||||
|
||||
exprs = parse_all(source)
|
||||
|
||||
from shared.sx.evaluator import evaluate, make_env
|
||||
from shared.sx.ref.sx_ref import evaluate, make_env
|
||||
|
||||
env = make_env()
|
||||
for expr in exprs:
|
||||
@@ -74,7 +74,7 @@ def compile_ref_to_js(
|
||||
spec_modules: List of spec modules (deps, router, signals). None = auto.
|
||||
"""
|
||||
from datetime import datetime, timezone
|
||||
from shared.sx.evaluator import evaluate
|
||||
from shared.sx.ref.sx_ref import evaluate
|
||||
|
||||
ref_dir = _HERE
|
||||
env = load_js_sx()
|
||||
|
||||
@@ -38,7 +38,7 @@ def load_py_sx(evaluator_env: dict) -> dict:
|
||||
exprs = parse_all(source)
|
||||
|
||||
# Import the evaluator
|
||||
from shared.sx.evaluator import evaluate, make_env
|
||||
from shared.sx.ref.sx_ref import evaluate, make_env
|
||||
|
||||
env = make_env()
|
||||
for expr in exprs:
|
||||
@@ -60,7 +60,7 @@ def extract_defines(source: str) -> list[tuple[str, list]]:
|
||||
|
||||
|
||||
def main():
|
||||
from shared.sx.evaluator import evaluate
|
||||
from shared.sx.ref.sx_ref import evaluate
|
||||
|
||||
# Load py.sx into evaluator
|
||||
env = load_py_sx({})
|
||||
|
||||
@@ -559,7 +559,7 @@ def sx_expr_source(x):
|
||||
|
||||
|
||||
try:
|
||||
from shared.sx.evaluator import EvalError
|
||||
from shared.sx.types import EvalError
|
||||
except ImportError:
|
||||
class EvalError(Exception):
|
||||
pass
|
||||
|
||||
Reference in New Issue
Block a user