#include
Inheritance diagram for Awk
Public Types |
|
enum ? | condition { ok, stopped, failed } |
Public Methods |
|
? | Awk () |
virtual? | ~Awk () |
condition? | run (const cmt_string& text, const cmt_string& pattern = "") |
condition? | run (const cmt_string& text, const cmt_regexp& expression) |
void? | stop () |
void? | abort () |
void? | allow_continuation () |
condition? | get_last_condition () const |
virtual void? | begin () |
virtual void? | filter (const cmt_string& line) |
virtual void? | end () |
void? | inc_line_number () |
Protected Attributes |
|
int? | m_line_number |
condition? | m_condition |
bool? | m_continuation_allowed |
|
? |
Definition at line 56 of file cmt_awk.h. 00056 {ok, stopped, failed} |
|
? |
Definition at line 209 of file cmt_awk.cxx. 00210 { 00211 m_condition = ok; 00212 } |
|
? |
Definition at line 215 of file cmt_awk.cxx. 00216 { 00217 } |
|
? |
Definition at line 413 of file cmt_awk.cxx. 00414 { 00415 m_condition = failed; 00416 } |
|
? |
Definition at line 419 of file cmt_awk.cxx. 00420 { 00421 m_continuation_allowed = true; 00422 } |
|
? |
Reimplemented in Grep, Cut, RecursivePass1, RecursivePass2, WinDefAwk, Packager, Prototyper, DependencyFilter, SequenceRunner, TriggerAnalyzer, and DependencyAnalyzer. Definition at line 431 of file cmt_awk.cxx. Referenced by PAwk::run(), and run(). 00432 { 00433 } |
|
? |
Reimplemented in WinDefAwk, Prototyper, SequenceRunner, TriggerAnalyzer, DependencyAnalyzer, LibraryAnalyzer, and ApplicationAnalyzer. Definition at line 442 of file cmt_awk.cxx. Referenced by PAwk::run(), and run(). 00443 { 00444 } |
|
? |
Reimplemented in Grep, Cut, RecursivePass1, RecursivePass2, WinDefAwk, Packager, Prototyper, DependencyFilter, AwkActor, SequenceRunner, TriggerAnalyzer, and DependencyAnalyzer. Definition at line 436 of file cmt_awk.cxx. Referenced by Parser::parse_line(), PAwk::run(), and run(). 00437 { 00438 //cout << "awk> " << line << endl; 00439 } |
|
? |
Definition at line 425 of file cmt_awk.cxx. Referenced by Parser::parse_line(). 00426 { 00427 return (m_condition); 00428 } |
|
? |
Definition at line 447 of file cmt_awk.cxx. Referenced by Parser::parse(). 00448 { 00449 m_line_number++; 00450 } |
|
? |
Reimplemented in FAwk, and PAwk. Definition at line 320 of file cmt_awk.cxx. 00322 { 00323 m_line_number = 0; 00324 m_condition = ok; 00325 00326 begin (); 00327 if (m_condition != ok) return (m_condition); 00328 00329 Parser p (this, "", &expression); 00330 00331 m_condition = p.parse (text); 00332 if (m_condition != ok) return (m_condition); 00333 00334 /* 00335 if (CmtSystem::testenv ("CMTTESTAWK")) 00336 { 00337 } 00338 else 00339 { 00340 cmt_string line; 00341 int pos = 0; 00342 int max_pos; 00343 00344 max_pos = text.size (); 00345 00346 for (pos = 0; pos < max_pos;) 00347 { 00348 int cr = text.find (pos, "\r\n"); 00349 int nl = text.find (pos, '\n'); 00350 00351 // Get the first end-of-line (either lf or cr-lf) 00352 00353 int first = nl; 00354 00355 if (cr != cmt_string::npos) 00356 { 00357 if (nl == cmt_string::npos) 00358 { 00359 first = cr; 00360 } 00361 else 00362 { 00363 first = (nl < cr) ? nl : cr; 00364 } 00365 } 00366 00367 if (first == cmt_string::npos) 00368 { 00369 // This is likely the last line since there is no end-of-line 00370 text.substr (pos, line); 00371 pos = max_pos; 00372 } 00373 else if (first > pos) 00374 { 00375 // The eol was found beyond the current position 00376 // (ie. this is a non empty line) 00377 text.substr (pos, first - pos, line); 00378 pos = first + 1; 00379 } 00380 else 00381 { 00382 // an empty line 00383 line = ""; 00384 pos++; 00385 } 00386 00387 m_line_number++; 00388 00389 if (line != "") 00390 { 00391 if (expression.match (line)) 00392 { 00393 filter (line); 00394 if (m_condition != ok) return (m_condition); 00395 } 00396 } 00397 } 00398 } 00399 */ 00400 00401 end (); 00402 00403 return (m_condition); 00404 } |
|
? |
Reimplemented in FAwk, and PAwk. Definition at line 220 of file cmt_awk.cxx. Referenced by DependencyGenerator::build(), Cmt::do_awk(), CvsImplementation::do_checkout(), FAwk::run(), and CvsImplementation::show_cvs_infos(). 00222 { 00223 m_line_number = 0; 00224 m_condition = ok; 00225 00226 begin (); 00227 if (m_condition != ok) return (m_condition); 00228 00229 if (CmtSystem::testenv ("CMTTESTAWK")) 00230 { 00231 Parser p (this, pattern, 0); 00232 00233 m_condition = p.parse (text); 00234 if (m_condition != ok) return (m_condition); 00235 } 00236 else 00237 { 00238 cmt_string line; 00239 int pos = 0; 00240 int max_pos; 00241 00242 max_pos = text.size (); 00243 00244 for (pos = 0; pos < max_pos;) 00245 { 00246 int cr = text.find (pos, "\r\n"); 00247 int nl = text.find (pos, '\n'); 00248 00249 // Get the first end-of-line (either lf or cr-lf) 00250 00251 //-------------------- 00252 // 00253 // cr 1 0 00254 // nl 00255 // 00256 // 1 a b 00257 // 00258 // 0 c d 00259 // 00260 //-------------------- 00261 00262 int first = nl; 00263 00264 if (cr != cmt_string::npos) 00265 { 00266 // cases a or c 00267 00268 if (nl == cmt_string::npos) 00269 { 00270 // case a 00271 first = cr; 00272 } 00273 else 00274 { 00275 // case c 00276 first = (nl < cr) ? nl : cr; 00277 } 00278 } 00279 00280 if (first == cmt_string::npos) 00281 { 00282 // This is likely the last line since there is no end-of-line 00283 text.substr (pos, line); 00284 pos = max_pos; 00285 } 00286 else if (first > pos) 00287 { 00288 // The eol was found beyond the current position 00289 // (ie. this is a non empty line) 00290 text.substr (pos, first - pos, line); 00291 pos = first + 1; 00292 } 00293 else 00294 { 00295 // an empty line 00296 line = ""; 00297 pos++; 00298 } 00299 00300 m_line_number++; 00301 00302 if (line != "") 00303 { 00304 if ((pattern == "") || 00305 (line.find (pattern) != cmt_string::npos)) 00306 { 00307 filter (line); 00308 if (m_condition != ok) return (m_condition); 00309 } 00310 } 00311 } 00312 } 00313 00314 end (); 00315 00316 return (m_condition); 00317 } |
|
? |
Definition at line 407 of file cmt_awk.cxx. Referenced by Prototyper::begin(). 00408 { 00409 m_condition = stopped; 00410 } |
|
? |
Definition at line 74 of file cmt_awk.h. |
|
? |
Definition at line 75 of file cmt_awk.h. |
|
? |
Definition at line 73 of file cmt_awk.h. |