提供する機能は:
public XobjectFile()
public XobjectFile(String ifile,String ofile)
public void Input()
public void Input(String filename)
public void Input(InputStream in)
public void Output()
public void Output(String filename)
public void Output(OutputStream out)
public void Decompile()
public void Decompile(String filenamen)
public void Decompile(OutputStream out)
public XobjectDef getHead()
public XobjectDef getTail()
public void iterateDef(XobjectDefVisitor op)
public void iterateFuncDef(XobjectDefVisitor op)
public void add(XobjectDef s)
public void add(Xobject x)
public void insert(XobjectDef s)
public void insert(Xobject x)
public Ident declGlobalIdent(String name,Xtype t)
public Ident declExternIdent(String name,Xtype t)
public Ident declStaticIdent(String name,Xtype t)
public Ident findIdent(String name)
public Xobject getGlobalIdentList()
public String genSym(String leader)
public XobjectDef(Xobject def)
public static XobjectDef Func(String name,Xobject id_list,
Xobject decls, Xobject body)
public static XobjectDef Var(String name,Xobject
initializer)
public Xobject getDef()
public void setDef(Xobject def)
public XobjectDef getNext()
public XobjectDef getPrev()
public XobjectFile getFile()
public boolean isFuncDef()
public boolean isVarDecl()
public boolean isExternDecl()
public String getName()
public Xobject getInitializer()
public Xobject getFuncParamIdList()
public Xobject getFuncParamDecls()
public Xobject getFuncBody()
public XobjectDef add(Xobject x)
public XobjectDef add(XobjectDef s)
public XobjectDef insert(Xobject x)
public XobjectDef insert(XobjectDef s)
public void remove()
public abstract void doDef(XobjectDef d)
public XobjectInputStream(InputStream in,XobjectFile
file_env)
public Xobject readObject()
public Xobject readIdentList()
public char skipSpace()
public int readInt()
public String readName()
public String readString()
public Xtype readType()
public XobjectOutputStream(OutputStream out)
public void print(Xobject v)
public void printObject(Xobject v)
public void printObjectNoIndent(Xobject v)
public void printInt(int i)
public void printBool(boolean b)
public void printIdentList(Xobject o)
public void printType(Xtype type)
public XobjectDecompileStream(OutputStream
out,XobjectFile env)
public void print(Xobject v)
public void printIdentList(Xobject o)
public final static int MAX_CODE
public static String getName(int code)
public static boolean isTerminal(int code)
public static boolean isBinaryOp(int code)
public static boolean isUnaryOp(int code)
public Xobject(int code,Xtype type)
public int Opcode()
public Xtype Type()
public abstract int getInt()
public abstract String getString()
public abstract String getSym()
public abstract double getFloat()
public abstract long getLong()
public abstract int getIntHIGH()
public abstract int getIntLOW()
public abstract Xobject getArg(int i)
public abstract XobjArgs getArgs()
public abstract void setArg(Xobject x)
public abstract Xobject left()
public abstract void setLeft(Xobjct x)
public abstract Xobject right()
public abstract void setLight(Xobject x)
public abstract Xobject operand()
public abstract void setOperand(Xobject x)
public abstract void add(Xobject a)
public abstract String toSting()
public abstract Xobject copy()
public abstract Xobject equals(Xobject x)
public XobjInt(int code,Xtype type,int value)
public XobjInt(int code,int value)
public int getInt()
public XobjLong(int code,Xtype type,long l)
public XobjLong(int code,Xtype type,int high,int low)
public XobjLong(int code,Xtype type,double d)
public double getFloat()
public long getLong()
public int getIntHIGH()
public int getIntLOW()
public XobjString(int code,Xtype type,String value)
-
public XobjString(int code,String value)
public String getString()
public String getSym()
public XobjList()
public XobjList(int code,Xtype type,Xobject a1)
public XobjList(int code,Xtype type,Xobject a1,Xobject a2)
public XobjList(int code,Xtype type,Xobject a1,Xobject a2,Xobject a3)
public XobjList(int code,Xtype type,Xobject a1,Xobject a2,Xobject a3,Xobject a4)
public XobjList(int code,Xobject a1)
public XobjList(int code,Xobject a1,Xobject a2)
public XobjList(int code,Xobject a1,Xobject a2,Xobject a3)
public XobjList(int code,Xobject a1,Xobject a2,Xobject a3,Xobject a4)
public XobjArgs getArgs()
public void add(Xobject a)
public Xobject left()
public abstract Xobject operand()
public void setLeft(Xobjct x)
public abstract void setOperand(Xobject x)
public Xobject right()
public void setLight(Xobject x)
public Xobject getArg(int i)
public void setArg(int i,Xobject x)
public XobjArgs(Xobject a,XobjArgs l)
public Xobject getArg()
public XobjArgs nextArgs()
public void setArg(Xobject x)
public Ident(String name,int stg_class,Xtype type, Xobject v)
public Xtype getDataType()
public int getStorageClass()
public String getName()
public Xobject getValue()
public boolean isDeclared()
public Xobject getAddr()
public Xobject Call(Xobject args)
public Xobject Ref()
public Xobject Index(int i)
public static Ident Local(String name,Xtype t)
public static Ident Param(String name,Xtype t)
public static Xobject AddrOf(Xobject x)
public static Xobject AddrOfVar(Xobject exp)
public static Xobject PointerRef(Xobject x)
public static Xobject Set(Xobject lv,Xobject rv)
public static Xobject Cast(Xtype t,Xobject v)
public static Xobject functionCall(Xobject f,
Xobject args)
public static Xobject binaryOp(int code,
Xobject x,Xobject y)
public static Xobject asgOp(int code,
Xobject x,
Xobject y)
public static Xobject unaryOp(int code,
Xobject x)
public static XobjString String(int code,Xtype type,String
value)
public static XobjString String(int code,String value)
public static XobjString Symbol(int code,Xtype type,String value)
public static XobjString Symbol(int code,String value)
public static XobjInt Int(int code,Xtype type,int value)
public static XobjInt Int(int code,int value)
public static XobjInt IntConstant(int value)
public static XobjLong Long(int code,Xtype type,long l)
public static XobjLong Long(int code,Xtype type,int high,int low)
public static XobjLong Float(int code,Xtype type,double d)
public static XobjList List()
public static XobjList List(int code,Xtype type)
public static XobjList List(int code,Xtype type,Xobject a1)
public static XobjList List(int code,Xtype type,Xobject a1,Xobject a2)
public static XobjList List(int code,Xtype type,Xobject a1,Xobject a2,Xobject a3)
public static XobjList List(int code,Xtype type,Xobject a1,Xobject a2,Xobject a3,Xobject a4)
public static XobjList List(int code)
public static XobjList List(int code,Xobject a1)
public static XobjList List(int code,Xobject a1,Xobject a2)
public static XobjList List(int code,Xobject a1,Xobject a2,Xobject a3)
public static XobjList List(int code,Xobject a1,Xobject a2,Xobject a3,Xobject a4)
public static XobjList emptyList()
public static XobjList emptyIdList()
public static Ident Ident(String name,int stg_class,Xtype type, Xobject v)
public abstract void init()
public abstract void init(Xobject x)
public abstract void next()
public abstract boolean end()
public Xobject getXobject()
public abstract Xobject getParent()
public void setXobject(Xobject x)
public Xobject topXobject()
public bottomupXobjectIterator(Xobject x)
public topdownXobjectIterator(Xobject x)
public final static int SNULL = 0; /* undefined */
public final static int AUTO = 1; /* auto variable */
public final static int PARAM = 2; /* paramter */
public final static int EXTERN = 3; /* extern variable */
public final static int EXTDEF = 4; /* external defition */
public final static int STATIC = 5; /* static variable */
public final static int REGISTER = 6; /* register variable */
public final static int LABEL = 7; /* label */
public final static int ULABEL = 8; /* undefined label, (temporary) */
public final static int TAGNAME = 9; /* tag name for struct/union/enum */
public final static int MOE = 10; /* member of enum */
public final static int TYPEDEF_NAME = 11;
public final static int N_STORAGE_CLASS
public static String getName(int stg_class)
public static int findClass(String s)
public final static int UNDEF
public final static int BASIC
public final static int ENUM
public final static int STRUCT
public final static int UNION
public final static int FUNCTION
public final static int ARRAY
public final static int POINTER
public Xtype()
public Xtype(int kind)
public Xtype(int kind, int id, int size, byte align,
boolean is_const, boolean is_volatile)
public int getKind()
public int getId()
public int getSize()
public byte getAlign()
public boolean isConst()
public boolean isVolatile()
public abstract int getBasicType()
public abstract Xtype getRef()
public abstract boolean isFuncProto()
public abstract Xobject getFuncParam()
public abstract int getArrayDim()
public abstract Xobject getMoeList()
public abstract Xobject getMemberList()
public abstract String getTagName()
public abstract Ident getTagIdent()
public abstract void setTagIdent(Ident tag)
public abstract boolean isUnsigned()
public abstract String toString()
public boolean equals(Xtype t)
public boolean isFunction()
public boolean isPointer()
public boolean isBasicType()
public boolean isArray()
public boolean isEnum()
public boolean isUnion()
public boolean isStruct()
public boolean isIntegral()
public boolean isFloating()
public static PointerType Pointer(Xtype ref)
public static FunctionType Function(Xtype ref)
public final static int UNDEF
public final static int VOID
public final static int CHAR
public final static int SHORT
public final static int INT
public final static int LONG
public final static int LONGLONG
public final static int UNSIGNED_CHAR
public final static int UNSIGNED_SHORT
public final static int UNSIGNED_INT
public final static int UNSIGNED_LONG
public final static int UNSIGNED_LONGLONG
public final static int FLOAT
public final static int DOUBLE
public final static int LONG_DOUBLE
public final static int SIGNED
public final static int N_BASIC_TYPE
public static final BasicType voidType
public static final BasicType charType
public static final BasicType shortType
public static final BasicType intType
public static final BasicType longType
public static final BasicType longlongType
public static final BasicType unsignedcharType
public static final BasicType unsignedshortType
public static final BasicType unsignedType
public static final BasicType unsignedlongType
public static final BasicType unsignedlonglongType
public static final BasicType floatType
public static final BasicType doubleType
public static final BasicType longdoubleType
public static final BasicType signedType
public BasicType(int basic_type)
public int getBasicType()
public final static String getName(int i)
public final static BasicType getType(int i)
public boolean isUnsigned()
public PointerType(int id, Xtype ref,int size,byte align,
boolean ic, boolean iv)
public PointerType(Xtype ref)
public Xtype getRef()
public FunctionType(int id,Xtype ref,Xobjct param_list,int size,
byte align,boolean ic,boolean iv,boolean
is_func_proto)
public FunctionType(Xtype ref)
public Xtype getRef()
public Xobject getFuncParam()
public ArrayType(int id,Xtype ref,int dim,int size,byte align,
boolean ic,boolean iv)
public ArrayType(Xtype ref,int dim)
public Xtype getRef()
public int getArrayDim()
public StructType(int id, Xobject id_list, int size,byte align,
boolean ic, boolean iv)
public StructType(Xobject id_list)
public Xobject getMemberList()
public void setTagIdent(Ident name)
public Ident getTagIdent()
public String getTagName()
public String toString()
public UnionType(int id, Xobject id_list, int size,byte align,
boolean ic, boolean iv)
public Xobject getMemberList()
public void setTagIdent(Ident name)
public Ident getTagIdent()
public String getTagName()
public EnumType(int id,Xobject moe_list,int size,byte align,
boolean ic, boolean iv)
public Xobject getMoeList()
public void setProp(Object key,Object value)
public Object getProp(Object key)
public void remProp(Object key)
public void remProperties()
public Vector getProperties()