-post-preprocessing-command
)Задайте команду или скрипт, чтобы запустить в исходных файлах после фазы предварительной обработки анализа
Задайте команду или скрипт, чтобы запустить каждый исходный файл после предварительной обработки.
Пользовательский интерфейс (только для настольных продуктов): В строении проекта опция находится на узле Environment Settings.
Командная строка и файл опций: Используйте опцию -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, например polyspaceroot
C:\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. Например, можно использовать следующие выражения.
Выражение | Значение |
---|---|
. | Совпадает с любым одним символом, кроме newline |
[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 (Bug Finder Server):
polyspace-bug-finder-server -sources |
Пример в Linux (Код Prover Server):
Полипространство -code-prover-server -sources |
Пример в Windows:
Polyspace Bug Finder -sources |
Обратите внимание, что в Windows вы используете полный путь к исполняемому файлу Perl.