From f70f3a906492dbf8cb6b4a0901e87b7ab68a07ea Mon Sep 17 00:00:00 2001 From: Simon Forman Date: Thu, 25 Nov 2021 17:48:28 -0800 Subject: [PATCH] So it's NOT the step combinator? --- debugger.py | 35 ++++++++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/debugger.py b/debugger.py index 69ca506..23164b4 100644 --- a/debugger.py +++ b/debugger.py @@ -27,13 +27,30 @@ expression = text_to_expression( ## 'trace' ) -for def_name in defs: - D = dictionary.copy() - D[def_name] = defs[def_name] - try: - stack, _, d = joy((), expression, D) - except: - print(def_name, 'failed!') - else: - print(stack_to_string(stack), def_name, 'pass') +step_d = {d:defs[d] for d in defs if 'step' in d} +for name in ('?', 'dupdipd', 'popopop'): + step_d[name] = defs[name] +def test_expr(ds): + D = dictionary.copy() + D.update(ds) + try: + stack, _, _ = joy((), expression, D) + except Exception as err: + return err + return stack_to_string(stack) + +res = test_expr(step_d) +if res: + print(res) + +##for def_name in defs: +## D = dictionary.copy() +## D[def_name] = defs[def_name] +## try: +## stack, _, d = joy((), expression, D) +## except: +## print(def_name, 'failed!') +## else: +## print(stack_to_string(stack), def_name, 'pass') +##