OSDN Git Service

So it's NOT the step combinator?
authorSimon Forman <sforman@hushmail.com>
Fri, 26 Nov 2021 01:48:28 +0000 (17:48 -0800)
committerSimon Forman <sforman@hushmail.com>
Fri, 26 Nov 2021 01:48:28 +0000 (17:48 -0800)
debugger.py

index 69ca506..23164b4 100644 (file)
@@ -27,13 +27,30 @@ expression = text_to_expression(
 ##    'trace'
     )
 
-for def_name in defs:
+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[def_name] = defs[def_name]
+    D.update(ds)
     try:
-        stack, _, d = joy((), expression, D)
-    except:
-        print(def_name, 'failed!')
-    else:
-        print(stack_to_string(stack), def_name, 'pass')
+        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')
+##