|
@@ -110,3 +110,10 @@ def has_value(a, **remainder):
|
|
|
else:
|
|
|
result, = yield [("CNV", [True])]
|
|
|
raise PrimitiveFinished(result)
|
|
|
+
|
|
|
+def make_reverse_dictionary(a, **remainder):
|
|
|
+ reverse, = yield [("CN", [])]
|
|
|
+ key_nodes, = yield [("RDK", [a])]
|
|
|
+ values = yield [("RDN", [a, i]) for i in key_nodes]
|
|
|
+ yield [("CD", [reverse, str(v), k]) for k, v in zip(key_nodes, values)]
|
|
|
+ raise PrimitiveFinished(reverse)
|