aboutsummaryrefslogtreecommitdiff
path: root/compilador/arbol.py
diff options
context:
space:
mode:
Diffstat (limited to 'compilador/arbol.py')
-rw-r--r--compilador/arbol.py48
1 files changed, 0 insertions, 48 deletions
diff --git a/compilador/arbol.py b/compilador/arbol.py
deleted file mode 100644
index 1ca2cd9..0000000
--- a/compilador/arbol.py
+++ /dev/null
@@ -1,48 +0,0 @@
-import uuid, json
-import graphviz as gv
-from pprint import pformat
-
-class Nodo:
- def __init__(self, dato = None):
- self.dato = dato
- self.hijos = []
-
- def print(self, n = 0):
- s = ' ' * n + 'Nodo:' + "\n"
- s += ' ' * n + "dato = " + str(self.dato) + "\n"
- s += ' ' * n + "hijos =\n"
- for h in self.hijos:
- s += h.print(n + 1)
- s += "\n"
- return s
-
- def render(self, dot: gv.Digraph, parent: str):
- name = uuid.uuid1().hex
- fdato = pformat(self.dato, indent=2).replace('\n', '\l')
- dot.node(name, fdato)
- if parent:
- dot.edge(parent, name)
-
- for h in self.hijos:
- h.render(dot, name)
-
- def __str__(self):
- return self.print()
-
-
-class Arbol:
- def __init__(self, raiz: Nodo = Nodo()):
- self.raiz = raiz
-
- def render(self, filename, view = False):
- dot = gv.Digraph()
- dot.attr(rankdir='LR')
- dot.attr('node', fontname='monospace')
- dot.attr('node', shape='box')
- self.raiz.render(dot, None)
- dot.render(filename, view = view)
-
- def __str__(self):
- if self.raiz:
- return str(self.raiz)
- return "None"