#ifndef LABEL_GENERATOR_H
#define LABEL_GENERATOR_H

#include "SynTree/SynTree.h"

namespace ControlStruct {
    class LabelGenerator {
      public:
	static LabelGenerator *getGenerator();
	Label newLabel();
	void reset() { current = 0; }
	void rewind() { current--; }
      protected:
	LabelGenerator(): current(0) {}
      private:
	int current;
	static LabelGenerator *labelGenerator;
    };
} // namespace ControlStruct

#endif // LABEL_GENERATOR_H

/*
  Local Variables:
  mode: c++
  End:
*/
