Go to the documentation of this file.00001 #ifndef wali_wpds_DEBUG_WPDS_GUARD
00002 #define wali_wpds_DEBUG_WPDS_GUARD 1
00003 
00004 
00005 
00006 
00007 
00008 #include "wali/wpds/WPDS.hpp"
00009 
00010 namespace wali
00011 {
00012   namespace wpds
00013   {
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022     class DebugWPDS : public WPDS
00023     {
00024       public:
00025         static const std::string XMLTag;
00026 
00027       public:
00028         DebugWPDS();
00029         DebugWPDS( ref_ptr<Wrapper> wrapper );
00030 
00031         virtual ~DebugWPDS();
00032 
00033       protected:
00034         virtual void prestarComputeFixpoint( wfa::WFA& fa );
00035 
00036         virtual void poststarComputeFixpoint( wfa::WFA& fa );
00037 
00038         virtual void post( wfa::ITrans* t , wfa::WFA& fa );
00039 
00040         virtual void poststar_handle_trans(
00041             wfa::ITrans * t ,
00042             wfa::WFA & ca   ,
00043             rule_t & r,
00044             sem_elem_t delta);
00045 
00046         virtual void update(
00047             Key from, Key stack, Key to, 
00048             sem_elem_t se, Config * cfg );
00049 
00050         virtual wfa::ITrans* update_prime(
00051             Key from, 
00052             wfa::ITrans* call, 
00053             rule_t r, 
00054             sem_elem_t delta, 
00055             sem_elem_t wWithRule 
00056             );
00057 
00058     }; 
00059 
00060   } 
00061 
00062 } 
00063 
00064 #endif  // wali_wpds_DEBUG_WPDS_GUARD
00065