ppcfrontend.h

Go to the documentation of this file.
00001 /*
00002  *$Revision: 1.3 $  // 1.1.2.1
00003  */
00004 #ifndef PPCFRONTEND_H
00005 #define PPCFRONTEND_H
00006 
00007 // Class PPCFrontEnd: derived from FrontEnd, with source machine specific
00008 // behaviour
00009 
00010 #include <set>
00011 #include "decoder.h"
00012 #include "exp.h"            // Ugh... just for enum OPER
00013 #include "frontend.h"       // In case included bare, e.g. ProcTest.cpp
00014 
00015 class FrontEnd;
00016 class PPCDecoder;
00017 struct DecodeResult;
00018 class CallStatement;
00019 
00020 class PPCFrontEnd : public FrontEnd
00021 {
00022 public:
00023                 PPCFrontEnd(BinaryFile *pBF, Prog* prog, BinaryFileFactory* pbff);
00024     /**
00025      * Virtual destructor.
00026      */
00027 virtual ~PPCFrontEnd();
00028 
00029 virtual platform getFrontEndId() { return PLAT_PPC; }
00030 
00031 virtual bool        processProc(ADDRESS uAddr, UserProc* pProc, std::ofstream &os, bool frag = false,
00032                         bool spec = false);
00033 
00034 
00035 virtual std::vector<Exp*> &getDefaultParams();
00036 virtual std::vector<Exp*> &getDefaultReturns();
00037 
00038 virtual ADDRESS getMainEntryPoint( bool &gotMain );
00039     
00040 };
00041 
00042 #endif

Generated on Tue Sep 19 21:18:29 2006 for Boomerang by  doxygen 1.4.6