-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathAntlr3.Utility.XML
61 lines (56 loc) · 2.41 KB
/
Antlr3.Utility.XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?xml version="1.0"?>
<doc>
<assembly>
<name>Antlr3.Utility</name>
</assembly>
<members>
<member name="T:Antlr.Utility.Tree.DOTTreeGenerator">
<summary>
A utility class to generate DOT diagrams (graphviz) from
arbitrary trees. You can pass in your own templates and
can pass in any kind of tree or use Tree interface method.
I wanted this separator so that you don't have to include
ST just to use the org.antlr.runtime.tree.* package.
This is a set of non-static methods so you can subclass
to override. For example, here is an invocation:
CharStream input = new ANTLRInputStream(Console.In);
TLexer lex = new TLexer(input);
CommonTokenStream tokens = new CommonTokenStream(lex);
TParser parser = new TParser(tokens);
TParser.e_return r = parser.e();
Tree t = (Tree)r.tree;
Console.Out.WriteLine(t.ToStringTree());
DOTTreeGenerator gen = new DOTTreeGenerator();
StringTemplate st = gen.ToDOT(t);
Console.Out.WriteLine(st);
</summary>
</member>
<member name="F:Antlr.Utility.Tree.DOTTreeGenerator.nodeToNumberMap">
<summary>
Track node to number mapping so we can get proper node name back
</summary>
</member>
<member name="F:Antlr.Utility.Tree.DOTTreeGenerator.nodeNumber">
<summary>
Track node number so we can get unique node names
</summary>
</member>
<member name="M:Antlr.Utility.Tree.DOTTreeGenerator.ToDOT(Antlr.Runtime.Tree.ITree)">
<summary>
Generate DOT (graphviz) for a whole tree not just a node.
For example, 3+4*5 should generate:
digraph {
node [shape=plaintext, fixedsize=true, fontsize=11, fontname="Courier",
width=.4, height=.2];
edge [arrowsize=.7]
"+"->3
"+"->"*"
"*"->4
"*"->5
}
Return the ST not a string in case people want to alter.
Takes a Tree interface object.
</summary>
</member>
</members>
</doc>