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