@@ -60,7 +60,7 @@ class AbstractTokenFilter: public ITokenizer {
6060 ITokenizer *agent_;
6161};
6262
63- #define RE_LOCATION " ([^ #:\" ][^:\" ]+)(?::([0-9]+))?(?::([0-9]+))?"
63+ #define RE_LOCATION " (?<file> [^ #:\" ][^:\" ]+)(?::(?<line> [0-9]+))?(?::(?<col> [0-9]+))?"
6464#define RE_TOOL_SUFFIX " (?: <--\\ [[^\\ ]]+\\ ])?$"
6565#define RE_FNC_SMATCH " (\\ (null\\ )|[_A-Za-z][_A-Za-z0-9]*)\\ (\\ )"
6666
@@ -99,9 +99,9 @@ class Tokenizer: public ITokenizer {
9999 RE (" ^" RE_LOCATION /* evt/msg */ " : (" RE_EVENT " ): (.*)$" );
100100
101101 const RE reSmatch_ =
102- RE (" ^([^:]+):([0-9]+)() " /* file:line */
103- RE_FNC_SMATCH /* fnc */
104- " ([a-z]+): (.*)$" ) /* evt: msg */ ;
102+ RE (" ^(?<file> [^:]+):(?<line> [0-9]+)() " /* file:line */
103+ RE_FNC_SMATCH /* fnc */
104+ " ([a-z]+): (.*)$" ) /* evt: msg */ ;
105105};
106106
107107EToken Tokenizer::readNext (DefEvent *pEvt)
@@ -159,13 +159,13 @@ EToken Tokenizer::readNext(DefEvent *pEvt)
159159 return T_UNKNOWN;
160160
161161 // read file name, event, and msg
162- pEvt->fileName = sm[/* file */ 1 ];
162+ pEvt->fileName = sm[" file" ];
163163
164164 // parse line number
165- pEvt->line = parse_int (sm[/* line */ 2 ]);
165+ pEvt->line = parse_int (sm[" line" ]);
166166
167167 // parse column number
168- pEvt->column = parse_int (sm[/* col */ 3 ]);
168+ pEvt->column = parse_int (sm[" col" ]);
169169
170170 return tok;
171171}
0 commit comments