diff options
-rw-r--r-- | compilador/arbol.py | 1 | ||||
-rw-r--r-- | compilador/parser.py | 3 | ||||
-rw-r--r-- | pruebas/sintaxis.es | 3 |
3 files changed, 5 insertions, 2 deletions
diff --git a/compilador/arbol.py b/compilador/arbol.py index 234d2e9..1ca2cd9 100644 --- a/compilador/arbol.py +++ b/compilador/arbol.py @@ -38,6 +38,7 @@ class Arbol: 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) diff --git a/compilador/parser.py b/compilador/parser.py index 951b517..f75f817 100644 --- a/compilador/parser.py +++ b/compilador/parser.py @@ -24,6 +24,7 @@ class Selector(Enum): class Parser: def __init__(self, input_file: str): + self.input_file = input_file self.arbol = Arbol() self.pila_selector = [ [Selector.NINGUNO, []] # selector, recolector @@ -41,7 +42,7 @@ class Parser: r = self.procesar(t) if r == Control.ERROR: return 1 - print(str(self.arbol)) + self.arbol.render(self.input_file + '.gv') return 0 def procesar (self, t: LexToken): diff --git a/pruebas/sintaxis.es b/pruebas/sintaxis.es index 57ef350..923cc44 100644 --- a/pruebas/sintaxis.es +++ b/pruebas/sintaxis.es @@ -3,4 +3,5 @@ entero b = 20; booleano c = verdadero; caracter d; imprimir a + b; -imprimir "Hola, Mundo";
\ No newline at end of file +imprimir "Hola, Mundo"; +leer a;
\ No newline at end of file |