ICG 2
Electric Boogaloo
MutableDeclaration.hpp
Go to the documentation of this file.
1 #ifndef MUTABLE_DECLARATION_HH
2 #define MUTABLE_DECLARATION_HH
3 
4 #include <string>
5 #include <iostream>
6 #include <vector>
7 #include <deque>
8 
10 
11 
13 
14  public:
15 
16  MutableDeclaration( std::string s );
17  MutableDeclaration( std::string s, std::vector<int> dimensions);
18 
19  std::string getTypeSpecifier() const;
20  std::string getVariableName() const;
21  unsigned int getNumberOfDimensions() const;
22  int getDimensionSize( unsigned int index) const;
23 
24  std::vector<int> getDims() const;
25 
26  std::string getDeclarator(std::string varName) const;
27  std::string getAbstractDeclarator() const;
28 
29  int popDimension();
30  void pushDimension(int dim);
31 
32  std::string popQualifier();
33  void pushQualifier(std::string name);
34  int getQualifiedNamePartsSize() const;
35 
36  bool validateDimensions() const;
37 
38  private:
39 
40  static bool is_valid_dimension (int dim);
41 
42  // std::string typeSpec;
43  std::string varName;
44  std::vector<int> dims;
45  std::deque<std::string> qualified_name_parts;
46 };
47 
48 #endif
Definition: MutableDeclaration.hpp:12
unsigned int getNumberOfDimensions() const
Definition: MutableDeclaration.cpp:38
std::string getVariableName() const
Definition: MutableDeclaration.cpp:34
MutableDeclaration(std::string s)
Definition: MutableDeclaration.cpp:8
int getQualifiedNamePartsSize() const
Definition: MutableDeclaration.cpp:146
std::string getDeclarator(std::string varName) const
Definition: MutableDeclaration.cpp:52
bool validateDimensions() const
Definition: MutableDeclaration.cpp:112
std::vector< int > getDims() const
Definition: MutableDeclaration.cpp:47
std::string popQualifier()
Definition: MutableDeclaration.cpp:135
std::string getAbstractDeclarator() const
Definition: MutableDeclaration.cpp:104
void pushQualifier(std::string name)
Definition: MutableDeclaration.cpp:142
int getDimensionSize(unsigned int index) const
Definition: MutableDeclaration.cpp:42
void pushDimension(int dim)
Definition: MutableDeclaration.cpp:131
int popDimension()
Definition: MutableDeclaration.cpp:122
std::string getTypeSpecifier() const
Definition: MutableDeclaration.cpp:20