se.chalmers.cs.gf.abssyn
Class Tree

java.lang.Object
  extended by se.chalmers.cs.gf.abssyn.Tree
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable
Direct Known Subclasses:
Fun, IntLiteral, MetaVariable, StringLiteral

public abstract class Tree
extends java.lang.Object
implements java.io.Serializable, java.lang.Cloneable

Interface implemented by all the abstract syntax classes.

See Also:
Serialized Form

Constructor Summary
Tree()
           
Tree(int startIndex, int endIndex)
           
Tree(java.util.Set<Pair<java.lang.Integer,java.lang.Integer>> inputRanges)
           
 
Method Summary
abstract
<R,A> R
accept(TreeVisitor<R,A> v, A arg)
           
 java.util.Set<Pair<java.lang.Integer,java.lang.Integer>> getInputRanges()
           
 java.lang.String inputRangesToString()
           
abstract  boolean isLiteral()
           
 java.lang.String toStringWithRanges()
           
static java.util.Set<Pair<java.lang.Integer,java.lang.Integer>> unifyInputRanges(Tree t1, Tree t2)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Tree

public Tree()

Tree

public Tree(int startIndex,
            int endIndex)

Tree

public Tree(java.util.Set<Pair<java.lang.Integer,java.lang.Integer>> inputRanges)
Method Detail

isLiteral

public abstract boolean isLiteral()

getInputRanges

public java.util.Set<Pair<java.lang.Integer,java.lang.Integer>> getInputRanges()

toStringWithRanges

public java.lang.String toStringWithRanges()

inputRangesToString

public java.lang.String inputRangesToString()

accept

public abstract <R,A> R accept(TreeVisitor<R,A> v,
                               A arg)

unifyInputRanges

public static java.util.Set<Pair<java.lang.Integer,java.lang.Integer>> unifyInputRanges(Tree t1,
                                                                                        Tree t2)