As killerbot says these are regular expressions and there are tons of documentation all over the web.
You can try this one with your error-output: ([][{} \t#%$~A-Za-z0-9_:+/\.-\\]+)\(([0-9]+)\) : (.*)
with type set to "Error" and "Subexpression indices" set to:
- Message: 3
- Additional message 2: 0
- Additional message 3: 0
- Filename: 1
- Line: 2
If you test your message you get the following output:
Regular expression analyzed as follows:
Type: Error message
Filename: D:/work/Project/TTS_O/quellcode/tts_o/myFile.h
Line number: 37
Message: Error[Pe040]: expected an identifier
Hello,
I currently use CB (r11367) with IAR EW ARM 7.3 to build my project and I noticed that even there is IAR support in CB, the message parsing is broken for me.
Seems like the output format was changed.
Here is actual example of the output:
bla;
^
"C:\_DATA_\project\main.c",83 Error[Pe020]: identifier "bla" is undefined
Errors: 1
I was able to get it work by modifying regexps as follows:
-- ([][{}() \t#%$~[:alnum:]&_:+/\\.-]+),([0-9]+)[ \t]+([Ee]rror\\[[0-9A-Za-z]*\\]:.*)
++ "?([][{}() \t#%$~[:alnum:]&_:+/\.-]+)"?,([0-9]+)[ \t]+([Ee]rror\[[0-9A-Za-z]*\]:.*)
Find attached IAR-related part of CB config, that works for me. I did not test all the regexps in parser but for most common messages they are ok.