Python Forum
Visualization of Abstract Syntax Tree
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Visualization of Abstract Syntax Tree
#1
Hi

I am working on parser for Russian and I would like to have visualization of abstract syntax tree. I want to see it in following way:

I have my tree class:

class Node:
	def __init__(self, word=None, tag=None, grammemes=None, leaf=False):
		self.word = word;
		self.tag = tag;
		self.grammemes = grammemes;
		self.leaf = leaf;

		self.l = None;
		self.r = None;
		self.p = None;

class Tree:
	def __init__(self, grammar):
		self.grammar = grammar;
		self.root = None;
		self.nodes = list();
I build it from given sentence and then I write:

my_tree.draw()
And here is pop-up window (as tkinter) with my tree. Like this:

[Image: tree_display_sample.png]


How I can implement it?
Reply
#2
Just a question: What is the purpose of ending each line with a ; ?
This is Python, not Java or Javascript.
Reply
#3
You might find something useful here: https://pypi.org/search/?q=abstract+syntax+tree
Reply
#4
(Jul-29-2019, 04:46 PM)ThomasL Wrote: Just a question: What is the purpose of ending each line with a ; ?
This is Python, not Java or Javascript.

I came to Python from C++

It is't question of the purpose but it is question of motoric memory ;)
Reply
#5
(Jul-30-2019, 04:06 AM)Larz60+ Wrote: You might find something useful here: https://pypi.org/search/?q=abstract+syntax+tree

Thank you but there are nothing to me. Can you tell what tools I can use for creating my own library for drawing trees?
Reply
#6
As a starting point, take a look at NetworkX package and the following example.
Reply


Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020