public class Node { protected static int nextID=0; protected int id; protected Vector children; public Node parent; public ClassNode classNode; public Object data; public int type; public int offset; public int access; public Node decl; public String etype; public int lineNo; public Node(int type); public Node(int type, int lineNo); public Node(int type, Object data); public Node(int type, Object data, int lineNo); public int addEdge(Node dest); public int getID(); public int getChildrenCount(); public Node getChild(int idx); } public class Types { public static final int T_DUMMY=0; public static final int T_CLASS=1; public static final int T_CLASSBODY=2; public static final int T_STRING=3; public static final int T_LIST=4; public static final int T_VARDEC=5; public static final int T_METHDEC=6; public static final int T_VOID=7; public static final int T_INT=8; public static final int T_VARSPEC=9; public static final int T_ASSIGN=10; public static final int T_DOWHILE=11; public static final int T_CALL=12; public static final int T_RETURN=13; public static final int T_BREAK=14; public static final int T_METHBODY=15; public static final int T_THIS=16; public static final int T_NEW=17; public static final int T_IF=18; public static final int T_WHILE=19; public static final int T_FOR=20; public static final int T_SWITCH=21; public static final int T_CASE=22; public static final int T_CONSTANT=23; public static final int T_METHCALL=24; public static final int T_VAR=25; public static final int T_DIMENSION=26; // operators public static final int T_UMINUS=27; public static final int T_NOT=28; public static final int T_PLUS=29; public static final int T_MINUS=30; public static final int T_MUL=31; public static final int T_DIV=32; public static final int T_MOD=33; public static final int T_EQ=34; public static final int T_NEQ=35; public static final int T_LESS=36; public static final int T_LEQ=37; public static final int T_GRE=38; public static final int T_GEQ=39; public static final int T_AND=40; public static final int T_OR=41; // access types public static final int T_STATIC=42; public static final int T_VIRTUAL=43; public static final int T_LOCAL=44; // something I forgot public static final int T_NULL=45; public static final int T_DEFAULT=46; // not present in the syntex tree public static final int T_STORE=47; public static final int T_LOAD=48; public static String toString(int type); } public class Util { public static String toJVMName(String s); public static String toJVMClassName(String s); public static String toJVMType(Node n, Node dim); public static String toJVMArglistType(Node n); public static Node getClass(Node n); public static String getClassName(Node n); public static Node getMethod(Node n); } public class GDLVisualizer { static boolean writeDecls=false; public static void createFile(String filename, Node root); public static void setWriteDecls(boolean onOff); } public class ClassNode { public ClassNode parent; public String className; public Hashtable methodTable; public Hashtable memberTable; public ClassNode(String name); }