Project

General

Profile

root / branches / compiler / cSharp / ooasCompiler / src / libs / Antlr3.Utility (2).XML @ 3

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