Public Member Functions | |
TriggerAnalyzer (const cmt_string &package_name) | |
void | begin () |
void | filter (const cmt_string &line) |
void | end () |
Private Attributes | |
cmt_string | package |
|
Definition at line 236 of file cmt_triggers.cxx.
00236 : 00237 package (package_name) 00238 { 00239 } |
|
Reimplemented from Awk. Definition at line 241 of file cmt_triggers.cxx.
00242 { 00243 } |
|
Reimplemented from Awk. Definition at line 308 of file cmt_triggers.cxx.
00309 { 00310 } |
|
Reimplemented from Awk. Definition at line 245 of file cmt_triggers.cxx. References Libmap::add(), Libmap::add_trigger(), Libmap::add_use(), CmtSystem::cmt_string_vector, cmt_string::find(), Cmt::get_quiet(), cmt_string::replace(), cmt_vector< T >::size(), CmtSystem::split(), and cmt_string::substr().
00246 { 00247 int pos = line.find ("="); 00248 if (pos == 0) 00249 { 00250 if (!Cmt::get_quiet ()) 00251 { 00252 cerr << "Syntax error in trigger file : empty name" << endl; 00253 } 00254 exit (0); 00255 } 00256 if (pos == cmt_string::npos) 00257 { 00258 if (!Cmt::get_quiet ()) 00259 { 00260 cerr << "Syntax error in trigger file : no = sign" << endl; 00261 } 00262 exit (0); 00263 } 00264 00265 cmt_string name; 00266 cmt_string text; 00267 CmtSystem::cmt_string_vector words; 00268 00269 line.substr (0, pos, name); 00270 line.substr (pos + 1, text); 00271 CmtSystem::split (text, " ", words); 00272 00273 if (name.find ("_triggers") != cmt_string::npos) 00274 { 00275 name.replace ("_triggers", ""); 00276 00277 Libmap& libmap = Libmap::add (name, package); 00278 00279 for (int i = 0; i < words.size (); i++) 00280 { 00281 const cmt_string& w = words[i]; 00282 libmap.add_trigger (w); 00283 } 00284 } 00285 else if (name.find ("_implied_libraries") != cmt_string::npos) 00286 { 00287 name.replace ("_implied_libraries", ""); 00288 00289 Libmap& libmap = Libmap::add (name, package); 00290 00291 for (int i = 0; i < words.size (); i++) 00292 { 00293 const cmt_string& w = words[i]; 00294 libmap.add_use (w); 00295 } 00296 } 00297 else 00298 { 00299 if (!Cmt::get_quiet ()) 00300 { 00301 cerr << "Syntax error in trigger file : bad keyword (" << 00302 name << ")" << endl; 00303 } 00304 exit (0); 00305 } 00306 } |
|
Definition at line 231 of file cmt_triggers.cxx. |