//					COMMENTS.H

#ifndef commentsh
#define commentsh

#define COMMENT_IF 1
#define COMMENT_ENDIF 2
#define COMMENT_PROC 3
#define COMMENT_RET 4
#define COMMENT_ENDPROC 5
#define COMMENT_DOWHILE 6
#define COMMENT_DO 7
#define COMMENT_ELSE 8
#define COMMENT_DS 9
// list markers
#define COMMENT_HEADMARKER 10
#define COMMENT_TAILMARKER 11

struct commentlist
{ struct commentlist *next;
  unsigned long addr;
  unsigned char type;
  unsigned char *data;
};

class comments
{ private:
	 struct commentlist *clist,*lastcomment;
	 int cdepth;

  public:
	 comments();
	 ~comments();
	 void addcomment(unsigned long addr,unsigned char comment,BOOL first);
	 void printcomment(unsigned long addr);
	 void addoffscomment(unsigned long addr,unsigned char comment,unsigned char *data);
    void resetiterator(void);
};

#endif
