00001 #ifndef LABEL_H_
00002 #define LABEL_H_
00003
00004 #include "control_statement.h"
00005
00006 #include <string>
00007
00008 using namespace std;
00009 namespace il
00010 {
00011
00015 class label : public il::control_statement
00016 {
00017 friend class boost::serialization::access;
00018
00019 template<class Archive>
00020 void serialize(Archive & ar, const unsigned int version)
00021 {
00022 ar & boost::serialization::base_object<il::control_statement>(*this);
00023 ar & label_name;
00024 }
00025 private:
00026 string label_name;
00027 public:
00028 label();
00029 label(string label_name, location loc);
00030 string get_label();
00031 virtual ~label();
00032 virtual string to_string() const;
00033 void print();
00034 };
00035
00036 }
00037
00038 #endif