3 std::string get_line_of_code(const char* code) //return the line of code
5 std::string ret = code;
7 for(i = 0;i<ret.length();i++)
9 if(ret[i]=='\n') break;
11 return ret.substr(0,i);
14 std::string cut_commentary(const std::string line) //cut commentary at the end of line
17 for(i = 0;i<line.length()-1;i++)
19 if(line[i]=='/' && line[i+1]=='/') return line.substr(0,i);
20 if(line[i]=='/' && line[i+1]=='*') return line.substr(0,i);
26 bool is_derived(const std::string line) // return true if the struct or class is derived
29 for(i = 0;i<line.length()-1;i++)
33 if(line[i+1]!=':') return true;
40 std::string get_super_class(const std::string line) // get the super class of this declarations
43 for(i = 0;i<line.length()-1;i++)
47 if(line[i+1]!=':') break;
51 return line.substr(i+1);
54 std::string clean_spaces(const std::string line)
57 std::string new_line = "";
58 for(i = 0;i<line.length();i++)
60 if(!isspace(line[i])) new_line+=line[i];
62 //std::cout<<new_line;
66 bool is_state(const std::string line)
68 int pos = line.find("::");
71 if(line.compare(0,24,"statechart::simple_state")==0)
77 std::string str = line.substr(pos+2);
78 if(str.compare(0,12,"simple_state")==0)return true;
83 std::string str = line.substr(pos+2);
85 if(str.compare(0,12,"simple_state")==0)return true;
90 std::string cut_typedef(std::string line) // cut typedef from the beginning
92 if(line.compare(0,8,"typedef ")==0)
94 return line.substr(8);
99 int count(std::string line) //count all < in string
102 for(int i = 0;i<line.length();i++)
104 if(line[i]=='<') number+=1;
109 bool is_transition(const std::string line)
111 int pos = line.find("::");
114 if(line.compare(0,22,"statechart::transition")==0)
120 std::string str = line.substr(pos+2);
121 if(str.compare(0,10,"transition")==0)return true;
126 std::string str = line.substr(pos+2);
128 if(str.compare(0,10,"transition")==0)return true;
133 std::string get_transition_params(std::string line)
135 int pos_front = line.find("<")+1;
136 int pos_end = line.find(">");
137 std::string first[2];
139 params = line.substr(pos_front,pos_end-pos_front);