st20frontend.h

Go to the documentation of this file.
00001 /*
00002  * $Revision: 1.3 $ // 1.1.2.2
00003  */
00004 #ifndef ST20FRONTEND_H
00005 #define ST20FRONTEND_H
00006 
00007 // Class ST20FrontEnd: 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 ST20Decoder;
00017 struct DecodeResult;
00018 class CallStatement;
00019 
00020 class ST20FrontEnd : public FrontEnd
00021 {
00022 public:
00023   ST20FrontEnd(BinaryFile *pBF, Prog* prog, BinaryFileFactory* pbff);
00024     /**
00025      * Virtual destructor.
00026      */
00027 virtual ~ST20FrontEnd();
00028 
00029 virtual platform getFrontEndId() { return PLAT_ST20; }
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:33 2006 for Boomerang by  doxygen 1.4.6