Interpreter and library.
Révision | f70f3a906492dbf8cb6b4a0901e87b7ab68a07ea (tree) |
---|---|
l'heure | 2021-11-26 10:48:28 |
Auteur | Simon Forman <sforman@hush...> |
Commiter | Simon Forman |
So it's NOT the step combinator?
@@ -27,13 +27,30 @@ expression = text_to_expression( | ||
27 | 27 | ## 'trace' |
28 | 28 | ) |
29 | 29 | |
30 | -for def_name in defs: | |
30 | +step_d = {d:defs[d] for d in defs if 'step' in d} | |
31 | +for name in ('?', 'dupdipd', 'popopop'): | |
32 | + step_d[name] = defs[name] | |
33 | + | |
34 | +def test_expr(ds): | |
31 | 35 | D = dictionary.copy() |
32 | - D[def_name] = defs[def_name] | |
36 | + D.update(ds) | |
33 | 37 | try: |
34 | - stack, _, d = joy((), expression, D) | |
35 | - except: | |
36 | - print(def_name, 'failed!') | |
37 | - else: | |
38 | - print(stack_to_string(stack), def_name, 'pass') | |
38 | + stack, _, _ = joy((), expression, D) | |
39 | + except Exception as err: | |
40 | + return err | |
41 | + return stack_to_string(stack) | |
42 | + | |
43 | +res = test_expr(step_d) | |
44 | +if res: | |
45 | + print(res) | |
39 | 46 | |
47 | +##for def_name in defs: | |
48 | +## D = dictionary.copy() | |
49 | +## D[def_name] = defs[def_name] | |
50 | +## try: | |
51 | +## stack, _, d = joy((), expression, D) | |
52 | +## except: | |
53 | +## print(def_name, 'failed!') | |
54 | +## else: | |
55 | +## print(stack_to_string(stack), def_name, 'pass') | |
56 | +## |