From 5ad16915cb4f891f54a07ea8788786395d1ff216 Mon Sep 17 00:00:00 2001 From: Kia <kia@special-circumstanc.es> Date: Fri, 29 May 2020 20:18:49 -0600 Subject: [PATCH] start of quick-n-dirty deserializer --- python_arborist.py | 38 +++++++++++++++++++++++++++----------- 1 file changed, 27 insertions(+), 11 deletions(-) diff --git a/python_arborist.py b/python_arborist.py index c0ee7e0..b72e820 100644 --- a/python_arborist.py +++ b/python_arborist.py @@ -301,6 +301,32 @@ if __name__ == '__main__': print(x) +serialized_tree_final = trace[-1] +print("EGG") + +print(serialized_tree_final) + + +top_bit = 0x1000 + +def deserializer(serialized_array): + idx = 0 + while (idx < len(serialized_array)): + new_element = serialized_array[idx] + number_subnodes = serialized_array[idx + 1] + if (number_subnodes < 1): + print("MALFORMED AT IDX", idx) + print("TOTAL LEN OF ARRAY IS", len(serialized_array)) + break + + subnodes_array = [] + for sub_idx in range(idx + 2, idx + 2 + number_subnodes): + subnodes_array.append(serialized_array[sub_idx]) + + print("NEW SUBNODES ARE:",subnodes_array) + idx += 2 + number_subnodes + + class TreeNode: def __init__(self, language_element, subnodes): @@ -309,14 +335,4 @@ class TreeNode: def __str__(self): return str(self.language_element) - -x = TreeNode("abcd", []) - -print(x) -print(x.subnodes) - -x.subnodes=[TreeNode("defg",[423])] - -print(x) -print(x.subnodes) -print(x.subnodes[0].subnodes) \ No newline at end of file +deserializer(serialized_tree_final) \ No newline at end of file -- GitLab