2011-12-14 2 views
0

Я написал свое регулярное выражение для анализа ошибок неподдерживаемого компилятора. Однако, похоже, меня игнорируют, и я не знаю, как его отладить.Как отлаживать парсер ошибок ошибок регулярного выражения Eclipse CDT?

сообщение

ошибка выглядит следующим образом:

"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, 8.0.0 CDT

ответ

0

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

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

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

Надеется, что это помогает кто-то с той же проблемой.

0

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

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

+0

Это не ответ, вы должны прочитать FAQ. Переполнение стека немного отличается от простого форума. То, что вы разместили, было бы лучше, чем комментарий, а не ответ. – Gus

+0

Спасибо за отзыв Gus. – frost

1

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

1

Это может помочь кому-то. Я пытался заставить пользовательский парсер работать, но я никогда не смог его совместить. Это была проблема установки. Вы должны установить соответствие в Window> Preferences> c/C++> Build> Settings> Error Parsers. Чтобы его использовать, вы должны проверить его в> Свойствах> c/C++ build> settings> парсерах ошибок.

+0

Можно ли это сделать для всех проектов сразу? – AndiDog