Как отлаживать анализатор ошибок Regex в Eclipse CDT? - PullRequest
0 голосов
/ 14 декабря 2011

Я записал свое регулярное выражение для анализа ошибок неподдерживаемого компилятора. Тем не менее, кажется, что игнорирует меня, и я не знаю, как его отладить.

Сообщение об ошибке выглядит так:

"file.c", line 224: Error:  #20: identifier "myvar" is undefined

Я написал это регулярное выражение для ошибки:

"(.*?)", line (\d+): Error: #(\d+): (.*)
File: $1, Line: $2, Desc: $4

Похоже, что вкладки «Консоль» и «Проблемы» в Eclipse игнорируют ее. Что мне здесь не хватает?

Eclipse для Windows 3.7.1, CDT 8.0.0

Ответы [ 4 ]

1 голос
/ 06 сентября 2014

Это может кому-то помочь. Я пытался заставить работать собственный синтаксический анализатор, но никогда не мог заставить его соответствовать. Это была проблема с настройкой. Вы должны установить соответствие в Window> Preferences> c / c ++> Build> Settings> Error Parsers. Чтобы получить его для ИСПОЛЬЗОВАНИЯ, вы должны проверить это в> Свойства> сборка c / c ++> Настройки> Анализаторы ошибок.

1 голос
/ 12 апреля 2013

Отредактировано: пока я использую онлайн-тестер регулярных выражений на основе Javascript , для отладки регулярных выражений CDT я предпочитаю заходить в консоль и использовать диалоговое окно обычного поиска.

0 голосов
/ 15 февраля 2013

Это действительно помогло мне, на самом деле.В ответ на ваш вопрос о том, как отлаживать анализатор ошибок, я провел тестирование регулярных выражений с помощью Python на наличие строк, полученных при запуске компилятора.Получив эту работу, я просто вставил регулярные выражения в форму анализатора ошибок в CDT.

Очевидно, что есть много разных способов играть с регулярными выражениями, особенно Perl.

0 голосов
/ 15 декабря 2011

Похоже, мое регулярное выражение не соответствует сообщению об ошибке.

Следующее регулярное выражение решило проблему:

"(.*?)", line (\d+): Error:(\s*)#(.*): (.*)
File: $1, Line: $2, Desc: $5

Надеюсь, это поможет кому-то с такой же проблемой.

...