Eclipse CDT и синтаксические ошибки ESQL

Я использую Eclipse CDT (выпуск Helios) для редактирования исходного кода (старого) приложения C, которое также использует ESQL. В этом проекте, по соглашению, файлы, содержащие код ESQL, имеют расширение.sc (вместо значения по умолчанию.c).

Все разделы ESQL, например, начиная с ключевых слов EXEC SQL, помечаются как "синтаксическая ошибка" (вертикальная линейка, обзорная линейка и желтая волнистая линия). Фактическая компиляция выполняется на другом компьютере (Unix) с компилятором ESQL. Что я могу сделать, чтобы проверить синтаксис кода SQL на компьютере разработчика?

Примечание. Я могу скрыть уведомление в меню "Предпочтения" / "Основные" / "Редакторы" / "Текстовые редакторы" / "Аннотации" / "Маркеры индексатора C/C++", но это может скрыть возможные полезные предупреждения.

2 ответа

То, что у вас есть, не является кодом C, несмотря на то, что вы думаете.

Дополнительный "синтаксис" (например, EXEC SQL плюс все, что находится внутри) просто не является кодом C, и любой инструмент, который обрабатывает обычный код C, по необходимости отвергнет его как синтаксическую ошибку.

"Процессор ESQL" (звучит как мэйнфрейм, учитывая фразу EXEC SQL), вероятно, предварительно обрабатывает то, что вы думаете о коде C, чтобы извлечь SQL и заменить его вызовами функций; этот результат, вероятно, передается реальному компилятору Си.

Я сомневаюсь, что вы можете сделать что-нибудь полезное с помощью CDT.

Если вы используете Window->Preferences->C/C++->File Types и определяете новый тип файла с C или C++ как *.pc или *.sc и т. Д. В соответствии с вашим расширением, то подсветка синтаксиса будет попытаться раскрасить ключевые слова соответствующим образом и дать подсказки. Конечно, операторы типа EXEC SQL будут отображаться как ошибки, но их относительно легко игнорировать, зная, что вы ищете некоторую помощь для элементов в файле, но не для всех (т.е. не анализирует встроенный SQL).

Обновление (для любителей vi(m)): я обнаружил, что мне нужно создать файл в ~/.vim/ftdetect/pc.vim, содержащий:

au BufRead, BufNewFile *.pc set filetype = pc

и я также создал ссылку из моего /usr/share/vim/vim73/esqlc.vim на pc.vim (хотя мы могли указать *.pc set filetype=esqlc)

и я установил vrapper, затем после перезапуска Eclipse мой EXEC SQL или другие ключевые слова больше не были подчеркнуты, хотя они также не были окрашены. Это может измениться в будущих обновлениях Vrapper. (Примечание: я использую Eclipse Kepler, так как он поддерживает vrapper)

Бонус: убедитесь, что в настройках "Найти и заменить" выбрано CTRL-4 вместо CTRL-F, чтобы страница работала в vim.

Другие вопросы по тегам