diff options
author | Iván Ávalos <avalos@disroot.org> | 2022-11-25 21:29:55 -0600 |
---|---|---|
committer | Iván Ávalos <avalos@disroot.org> | 2022-11-25 21:29:55 -0600 |
commit | 6b27930ef9c3eaede8d0c283ffa8376c40145f80 (patch) | |
tree | e2f2f8a25defb68283910edea33768054f435bc9 /compilador/parser.py | |
parent | 4b2fad150a292f882cee408d7f9746715225f7cb (diff) | |
download | javanol-6b27930ef9c3eaede8d0c283ffa8376c40145f80.tar.gz javanol-6b27930ef9c3eaede8d0c283ffa8376c40145f80.tar.bz2 javanol-6b27930ef9c3eaede8d0c283ffa8376c40145f80.zip |
¡Otra vez hay renderizador de AST!
Diffstat (limited to 'compilador/parser.py')
-rw-r--r-- | compilador/parser.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/compilador/parser.py b/compilador/parser.py index 99cabe7..e7f86db 100644 --- a/compilador/parser.py +++ b/compilador/parser.py @@ -1,4 +1,5 @@ import sys +import graphviz as gv from pprint import pprint from tabla import TablaLex @@ -8,6 +9,7 @@ from parse.unit import ParseUnit class Parser: def __init__(self, input_file: str): + self.input_file = input_file self.tabla = TablaLex() self.tabla.importar(input_file + '.tab') self.iterador = self.tabla.iterar() @@ -19,5 +21,8 @@ class Parser: print (unit.message, file=sys.stderr) return 1 - pprint(unit) + dot = gv.Digraph() + dot.attr('node', fontname='monospace') + unit.graph(dot) + dot.render(self.input_file + '.gv') return 0 |