Eclipse CDT и синтаксические ошибки ESQL - PullRequest
4 голосов
/ 29 июля 2010

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

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

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

Ответы [ 2 ]

0 голосов
/ 21 сентября 2013

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

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

0 голосов
/ 30 декабря 2010

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

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

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

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

...