ROSE  0.9.6a
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ann.h
Go to the documentation of this file.
1 
2 #ifndef BDWY_ANN_H
3 #define BDWY_ANN_H
4 
5 #ifdef __LOCALSTL_H
6 #include "localstl.h"
7 #endif
8 
15 class Ann
16 {
17 private:
18 
19  int _line;
20 
21 public:
22 
23  Ann(int line)
24  : _line(line)
25  {}
26 
27  inline int line() const { return _line; }
28 };
29 
36 class parserID
37 {
38 private:
39 
40  std::string _name;
41  int _line;
42  bool _is_io;
43 
44 public:
45 
46  parserID(const char * val, int line)
47  : _name(val),
48  _line(line),
49  _is_io(false)
50  {}
51 
52  inline std::string & name() { return _name; }
53  inline const std::string & name() const { return _name; }
54  inline int line() const { return _line; }
55 
56  inline bool is_io() const { return _is_io; }
57  inline void set_io() { _is_io = true; }
58 
59  inline void append(const char * str) {
60  name() += str;
61  }
62 
63  inline void append(parserID * other) {
64  name() += other->name();
65  delete other;
66  }
67 };
68 
69 typedef std::list< parserID > parserid_list;
70 typedef parserid_list::iterator parserid_list_p;
71 
72 
73 #endif /* */