-post-preprocessing-command)Укажите команду или сценарий для запуска с исходными файлами после этапа предварительной обработки анализа
Укажите команду или сценарий для выполнения над каждым исходным файлом после предварительной обработки.
Пользовательский интерфейс (только для настольных ПК): в конфигурации проекта этот параметр находится в узле «Параметры среды».
файл командной строки и параметров: Использовать параметр -post-preprocessing-command. См. раздел Сведения о командной строке.
Можно запускать сценарии для предварительно обработанных файлов, чтобы обойти ошибки компиляции или неточности анализа, не затрагивая исходные файлы. Например, предположим, что Polyspace ® не распознает ключевое слово, специфичное для компилятора. Если вы уверены, что ключевое слово не является релевантным для анализа, вы можете запустить сценарий Perl, чтобы удалить все экземпляры ключевого слова. При использовании этого параметра программа удаляет ключевое слово из предварительно обработанного кода, но сохраняет исходный код нетронутым.
Используйте сценарий, только если существующие опции анализа не соответствуют вашим требованиям. Например:
Для прямой замены одного ключевого слова другим используйте опцию Preprocessor definitions (-D).
Однако этот параметр не позволяет выполнять поиск и замену с использованием регулярных выражений. Для регулярных выражений используйте сценарий.
Для сопоставления функции библиотеки со стандартной функцией библиотеки используйте опцию -code-behavior-specifications.
Однако эта опция поддерживает сопоставление только с подмножеством стандартных библиотечных функций. Чтобы сопоставить с неподдерживаемой функцией, используйте сценарий.
Если вы не уверены в необходимости удаления или замены неподдерживаемой конструкции, не используйте эту опцию. Обратитесь в службу поддержки MathWorks ®.
По умолчанию нет
Введите полный путь к команде или сценарию или щелкните
для перехода к местоположению команды или сценария. Этот сценарий выполняется перед проверкой.
Сценарий должен быть разработан для обработки стандартных выходных данных предварительной обработки и получения их результатов в соответствии с этими стандартными выходными данными.
Сценарий должен сохранять количество строк в предварительно обработанном файле. Другими словами, он не должен добавлять или удалять целые строки в файл или из него.
Добавление или удаление строки может привести к непредсказуемому поведению расположения чеков и макросов в интерфейсе пользователя Polyspace.
Для сценария Perl в Windows ® укажите полный путь к исполняемому файлу Perl, а затем полный путь к сценарию.
Например:
Задание команды Perl, заменяющей все экземпляры far ключевое слово, введите .polyspaceroot\sys\perl\win32\bin\perl.exe -p -e "s/far//g"
Задание сценария Perl replace_keyword.pl который заменяет все экземпляры ключевого слова, введите .polyspaceroot\sys\perl\win32\bin\perl.exe absolute_path\replace_keyword.pl
Здесь, - местоположение текущей установки Polyspace, например, polyspacerootC:\Program Files\Polyspace\R2019a\ и - местоположение скрипта Perl. Если пути содержат пробелы, используйте кавычки, чтобы заключить полные имена путей.absolute_path
Использовать этот сценарий Perl в качестве шаблона. Сценарий удаляет все экземпляры far ключевое слово.
#!/usr/bin/perl
binmode STDOUT;
# Process every line from STDIN until EOF
while ($line = <STDIN>)
{
# Remove far keyword
$line =~ s/far//g;
# Print the current processed line to STDOUT
print $line;
}Для выполнения замен можно использовать регулярные выражения Perl. Например, можно использовать следующие выражения.
| Выражение | Значение |
|---|---|
| . | Соответствует любому одиночному символу, кроме новой строки |
[a-z0-9] | Соответствует любой отдельной букве в наборе a-z, или цифра в наборе 0-9 |
[^a-e] | Соответствует любой отдельной букве, отсутствующей в наборе a-e |
\d | Соответствует любой одной цифре |
\w | Соответствует одному буквенно-цифровому символу или _
|
x? | Соответствует 0 или 1 вхождению x |
x* | Соответствует 0 или более вхождениям x |
x+ | Соответствует 1 или более вхождениям x |
Полный список регулярных выражений см. в документации Perl.
При указании этого параметра помощник по компиляции автоматически отключается.
Параметр: -post-preprocessing-command |
| Значение: Путь к исполняемому файлу или команде в кавычках |
| По умолчанию нет |
Пример в Linux ® (Bug Finder):
polyspace-bug-finder -sources |
Пример в Linux (Code Prover):
polyspace-code-prover -sources |
Пример в Linux (сервер поиска ошибок):
polyspace-bug-finder-server -sources |
Пример в Linux (сервер проверки кода):
polyspace-code-prover-server -sources |
Пример в Windows:
polyspace-bug-finder -sources |
Обратите внимание, что в Windows используется полный путь к исполняемому файлу Perl.