ant.compiler.ast
Class TreePrinter

java.lang.Object
  extended byant.compiler.util.Printer
      extended byant.compiler.ast.TreePrinter
All Implemented Interfaces:
Tree.Visitor

public class TreePrinter
extends Printer
implements Tree.Visitor

Utility class for pretty printing AST representations of the Ant Control Language.

License: GPL

Author:
Bernhard Haumacher

Field Summary
(package private)  boolean debug
           
private static int INDENT
           
(package private)  int indentPos
           
(package private)  boolean newlineRequired
           
(package private)  java.io.PrintWriter out
           
(package private)  int pos
           
 
Constructor Summary
TreePrinter(java.io.PrintWriter out)
           
TreePrinter(java.io.PrintWriter out, boolean debug)
           
 
Method Summary
static void dumpTree(Tree tree, boolean debug)
           
private  java.lang.String ID(Tree tree)
           
private  void indent()
           
private  void newline()
           
private  void print(java.lang.String s)
           
private  void printDef(Tree definition)
           
private  void println()
           
private  void println(java.lang.String s)
           
 void visit(Tree.AndExpression tree)
           
 void visit(Tree.Assign tree)
           
 void visit(Tree.Block tree)
           
 void visit(Tree.Call tree)
           
 void visit(Tree.ConditionTest tree)
           
 void visit(Tree.Const tree)
           
 void visit(Tree.DropCommand tree)
           
 void visit(Tree.FoodTest tree)
           
 void visit(Tree.Goto tree)
           
 void visit(Tree.If tree)
           
 void visit(Tree.Label tree)
           
 void visit(Tree.MarkCommand tree)
           
 void visit(Tree.MoveCommand tree)
           
 void visit(Tree.NotExpression tree)
           
 void visit(Tree.OrExpression tree)
           
 void visit(Tree.PickUpCommand tree)
           
 void visit(Tree.Proc tree)
           
 void visit(Tree.RandomTest tree)
           
 void visit(Tree.Set tree)
           
 void visit(Tree.Test tree)
           
 void visit(Tree.TurnCommand tree)
           
 void visit(Tree.UnmarkCommand tree)
           
 void visit(Tree.Var tree)
           
 void visit(Tree.WallTest tree)
           
 
Methods inherited from class ant.compiler.util.Printer
debugToString, getLabel, getLabel, getLabel, getMarker, hasMarker
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INDENT

private static final int INDENT
See Also:
Constant Field Values

out

java.io.PrintWriter out

indentPos

int indentPos

pos

int pos

debug

final boolean debug

newlineRequired

boolean newlineRequired
Constructor Detail

TreePrinter

public TreePrinter(java.io.PrintWriter out)

TreePrinter

public TreePrinter(java.io.PrintWriter out,
                   boolean debug)
Method Detail

visit

public void visit(Tree.Label tree)
Specified by:
visit in interface Tree.Visitor

visit

public void visit(Tree.Block tree)
Specified by:
visit in interface Tree.Visitor

visit

public void visit(Tree.If tree)
Specified by:
visit in interface Tree.Visitor

visit

public void visit(Tree.Goto tree)
Specified by:
visit in interface Tree.Visitor

visit

public void visit(Tree.Proc tree)
Specified by:
visit in interface Tree.Visitor

visit

public void visit(Tree.Call tree)
Specified by:
visit in interface Tree.Visitor

visit

public void visit(Tree.MarkCommand tree)
Specified by:
visit in interface Tree.Visitor

visit

public void visit(Tree.UnmarkCommand tree)
Specified by:
visit in interface Tree.Visitor

visit

public void visit(Tree.TurnCommand tree)
Specified by:
visit in interface Tree.Visitor

visit

public void visit(Tree.MoveCommand tree)
Specified by:
visit in interface Tree.Visitor

visit

public void visit(Tree.PickUpCommand tree)
Specified by:
visit in interface Tree.Visitor

visit

public void visit(Tree.DropCommand tree)
Specified by:
visit in interface Tree.Visitor

visit

public void visit(Tree.Var tree)
Specified by:
visit in interface Tree.Visitor

visit

public void visit(Tree.Set tree)
Specified by:
visit in interface Tree.Visitor

visit

public void visit(Tree.Assign tree)
Specified by:
visit in interface Tree.Visitor

visit

public void visit(Tree.Test tree)
Specified by:
visit in interface Tree.Visitor

visit

public void visit(Tree.Const tree)
Specified by:
visit in interface Tree.Visitor

visit

public void visit(Tree.AndExpression tree)
Specified by:
visit in interface Tree.Visitor

visit

public void visit(Tree.OrExpression tree)
Specified by:
visit in interface Tree.Visitor

visit

public void visit(Tree.NotExpression tree)
Specified by:
visit in interface Tree.Visitor

visit

public void visit(Tree.ConditionTest tree)
Specified by:
visit in interface Tree.Visitor

visit

public void visit(Tree.WallTest tree)
Specified by:
visit in interface Tree.Visitor

visit

public void visit(Tree.FoodTest tree)
Specified by:
visit in interface Tree.Visitor

visit

public void visit(Tree.RandomTest tree)
Specified by:
visit in interface Tree.Visitor

indent

private void indent()

newline

private void newline()

println

private void println()

println

private void println(java.lang.String s)

print

private void print(java.lang.String s)

ID

private java.lang.String ID(Tree tree)

printDef

private void printDef(Tree definition)

dumpTree

public static void dumpTree(Tree tree,
                            boolean debug)